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(); }