package nl.tudelft.simulation.introspection.gui; import javax.swing.table.TableModel; import nl.tudelft.simulation.introspection.Introspector; import nl.tudelft.simulation.introspection.Property; /** * Defines the minimum contract for a TableModel providing additional introspection services. The contract is used to * facilitate communication between an {see ObjectJTable}and an introspecting TableModel, especially to allow an * ObjectJTable to create additional ObjectJTable instances. *
* copyright (c) 2002-2018 Delft University of Technology.
* BSD-style license. See DSOL License.
* @author Peter Jacobs.
* @author Alexander Verbraeck.
* @author Niels Lang.
* @since 1.5
*/
public interface IntrospectingTableModelInterface extends TableModel
{
/**
* Returns the Property instance generated by this IntrospectingTableModelInterface for the property 'propertyName'.
* @param propertyName The name of the Property to be returned
* @return The Property corresponding to 'propertyName', null if the property could not be found.
*/
Property getProperty(String propertyName);
/**
* @return The introspector instance used by this introspecting TableModel.
*/
Introspector getIntrospector();
/**
* gets the class of the the object at row,column.
* @param rowIndex the rowNumber
* @param columnIndex the columnNumber
* @return The type of the value in cell 'rowIndex', 'columnIndex'
*/
Class> getTypeAt(int rowIndex, int columnIndex);
/**
* Returns a reference to this model's modelManager, {see ModelManager}.
* @return the model manager
*/
ModelManager getModelManager();
}