JAL-2071 further refactoring, optimisation, and house keeping for the generic Free...
[jalview.git] / src / jalview / fts / api / FTSDataColumnI.java
index f6fc5da..ea30d01 100644 (file)
+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ * 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 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();
+  }
 }