View Javadoc

1   /*
2    * @(#) IntrospectingTableModelInterface.java Apr 15, 2004
3    * 
4    * Copyright (c) 2003 Delft University of Technology Jaffalaan 5, 2628 BX Delft,
5    * the Netherlands All rights reserved.
6    * 
7    * This software is proprietary information of Delft University of Technology
8    * The code is published under the General Public License
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  }