1
2
3
4
5
6
7
8
9 package nl.tudelft.simulation.introspection.gui;
10
11 import javax.swing.table.TableModel;
12
13 import nl.tudelft.simulation.introspection.Introspector;
14 import nl.tudelft.simulation.introspection.Property;
15
16 /***
17 * Defines the minimum contract for a TableModel providing additional
18 * introspection services. The contract is used to facilitate communication
19 * between an {see ObjectJTable}and an introspecting TableModel, especially to
20 * allow an ObjectJTable to create additional ObjectJTable instances.
21 * <p>
22 * (c) copyright 2002-2005-2004 <a href="http://www.simulation.tudelft.nl">Delft
23 * University of Technology </a>, the Netherlands. <br>
24 * See for project information <a
25 * href="http://www.simulation.tudelft.nl">www.simulation.tudelft.nl </a> <br>
26 * License of use: <a href="http://www.gnu.org/copyleft/lesser.html">Lesser
27 * General Public License (LGPL) </a>, no warranty.
28 *
29 * @author <a
30 * href="http://web.eur.nl/fbk/dep/dep1/Introduction/Staff/People/Lang">Niels
31 * Lang </a><a href="http://www.peter-jacobs.com/index.htm">Peter
32 * Jacobs </a>
33 * @version 1.1 Apr 15, 2004
34 * @since 1.5
35 */
36 public interface IntrospectingTableModelInterface extends TableModel
37 {
38 /***
39 * Returns the Property instance generated by this
40 * IntrospectingTableModelInterface for the property 'propertyName'.
41 *
42 * @param propertyName The name of the Property to be returned
43 * @return The Property corresponding to 'propertyName', null if the
44 * property could not be found.
45 */
46 Property getProperty(String propertyName);
47
48 /***
49 * @return The introspector instance used by this introspecting TableModel.
50 */
51 Introspector getIntrospector();
52
53 /***
54 * gets the class of the the object at row,column.
55 *
56 * @param rowIndex the rowNumber
57 * @param columnIndex the columnNumber
58 * @return The type of the value in cell 'rowIndex', 'columnIndex'
59 */
60 Class getTypeAt(int rowIndex, int columnIndex);
61
62 /***
63 * Returns a reference to this model's modelManager, {see ModelManager}.
64 *
65 * @return the model manager
66 */
67 ModelManager getModelManager();
68 }