/* * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.fts.api; /** * This interface provides a model for the dynamic data column configuration * * @author tcnofoegbu * */ public interface FTSDataColumnI { /** * Returns the name of the data column * * @return the data column's name */ public String getName(); /** * Returns the code of the data column * * @return the data column's code */ public String getCode(); /** * Returns the alternative code value for the data column * * @return the data column's code */ public String getAltCode(); /** * Returns the minimum width of the data column * * @return the data column's minimum width */ public int getMinWidth(); /** * Returns the maximum width of the data column * * @return the data column's maximum width */ public int getMaxWidth(); /** * Returns the preferred width of the data column * * @return the data column's preferred width */ public int getPreferredWidth(); /** * Determines if the data column is the primary key column * * @return true if data column is the primary key column, otherwise false */ public boolean isPrimaryKeyColumn(); /** * Checks if the data column field can be used to perform a search query * * @return true means the data column is searchable */ public boolean isSearchable(); /** * Checks if the data column is displayed by default * * @return true means the data column is shown by default */ public boolean isVisibleByDefault(); /** * Returns the data column's data type class * * @return the Class for the data column's data type */ public Class getDataColumnClass(); /** * Returns the data colum's FTS data column group * * @return the FTSDataColumnGroupI for the column */ public FTSDataColumnGroupI getGroup(); /** * This interface provides a model for the dynamic data column group * */ public interface FTSDataColumnGroupI { /** * Returns the Id of the data column's group * * @return the data column's group Id */ public String getID(); /** * Returns the name of the group * * @return the group's name */ public String getName(); /** * Returns the sort order of the group * * @return the group's sort order */ public int getSortOrder(); } }