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