package com.limegroup.gnutella.gui.tables; /** * The basic interface through which datalines should be accessed * @author Sam Berlin */ public interface DataLine { /** * Return the number of columns this dataline controls. */ public int getColumnCount(); /** * Return the LimeTableColumn for this column. */ public LimeTableColumn getColumn(int col); /** * Returns whether or not this column can change on subsequent * updates to the DataLine */ public boolean isDynamic(int col); /** * Returns whether or not this column can be clipped (and should * display a tooltip of the full data if it is). */ public boolean isClippable(int col); /** * Set up a new DataLine with o */ public void initialize(Object o); /** * Get the object that initialized the DataLine */ public Object getInitializeObject(); /** * Reset the object that initialized the DataLine */ public void setInitializeObject(Object o); /** * Get the value of a column in the DataLine */ public Object getValueAt(int col); /** * Set a value in a column of the DataLine */ public void setValueAt(Object o, int col); /** * Gets the 'type ahead' column. */ public int getTypeAheadColumn(); /** * Cleanup any of the underlying data referenced by the DataLine */ public void cleanup(); /** * Update the cached info in the DataLine */ public void update(); /** * Gets the tooltip for this line */ public String[] getToolTipArray(int col); /** Determines if a tooltip is required. */ public boolean isTooltipRequired(int col); }