package net.bitpot.railways.navigation; import com.intellij.ide.util.gotoByName.FilteringGotoByModel; import com.intellij.navigation.NavigationItem; import com.intellij.openapi.project.Project; import net.bitpot.railways.models.Route; import net.bitpot.railways.models.requestMethods.RequestMethod; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * @author Basil Gren */ public class GotoRouteMethodModel extends FilteringGotoByModel<RequestMethod> { public GotoRouteMethodModel(Project project) { super(project, ChooseByRouteRegistry.getInstance(project).getRouteContributors()); } @Nullable @Override protected RequestMethod filterValueFor(NavigationItem item) { return (item instanceof Route) ? ((Route) item).getRequestMethod() : null; } @Override public String getPromptText() { return "Enter URL part"; } @Override public String getNotInMessage() { return "No matches found"; } @Override public String getNotFoundMessage() { return "No matches found"; } @Nullable @Override public String getCheckBoxName() { return null; } @Override public char getCheckBoxMnemonic() { return 0; } @Override public boolean loadInitialCheckBoxState() { return false; } @Override public void saveInitialCheckBoxState(boolean state) { // Do nothing } @NotNull @Override public String[] getSeparators() { return new String[0]; } @Nullable @Override public String getFullName(Object element) { return ((Route) element).getPath(); } @Override public boolean willOpenEditor() { return true; } }