package net.bitpot.railways.models.routes; import com.intellij.openapi.module.Module; import net.bitpot.railways.gui.RailwaysIcons; import net.bitpot.railways.models.Route; import net.bitpot.railways.models.requestMethods.RequestMethod; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; /** * @author Basil Gren * on 14.12.2014. */ public class RedirectRoute extends Route { @NotNull private String redirectPath; public RedirectRoute(@Nullable Module module, RequestMethod requestMethod, String path, String name, @Nullable String redirectPath) { super(module, requestMethod, path, name); this.redirectPath = redirectPath == null ? "" : redirectPath; } /** * Returns displayable text for route action in short format. Short format * is used in routes table. * * @return Displayable text for route action, ex. "users#create" */ @Override public String getActionTitle() { return redirectPath.isEmpty() ? "[redirect]" : redirectPath; } /** * Returns displayable text for route action. * * @return Displayable text for route action, ex. "UsersController#create" */ @Override public String getQualifiedActionTitle() { return redirectPath.isEmpty() ? "[runtime defined redirect]" : "redirect to " + redirectPath; } @Override public Icon getActionIcon() { return RailwaysIcons.NODE_REDIRECT; } }