View Javadoc

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