content: //  Copyright 2006, Clark N. Hobbie
  //
  //  This file is part of the util library.
  //
  //  The util library is free software; you can redistribute it and/or modify it
  //  under the terms of the Lesser GNU General Public License as published by
  //  the Free Software Foundation; either version 2.1 of the License, or (at
  //  your option) any later version.
  //
  //  The util library is distributed in the hope that it will be useful, but
  //  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  //  or FITNESS FOR A PARTICULAR PURPOSE.  See the Lesser GNU General Public
  //  License for more details.
  //
  //  You should have received a copy of the Lesser GNU General Public License
  //  along with the util library; if not, write to the Free Software Foundation,
  //  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  //
  /*
   * TreeTableModel.java
   *
   * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
   *
   * This software is the confidential and proprietary information of Sun
   * Microsystems, Inc. ("Confidential Information").  You shall not
   * disclose such Confidential Information and shall use it only in
   * accordance with the terms of the license agreement you entered into
   * with Sun.
   *
   * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
   * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
   * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
   * THIS SOFTWARE OR ITS DERIVATIVES.
   *
   */
  package com.lts.swing.treetable;
  
  import javax.swing.tree.TreeModel;
  
  /**
   * TreeTableModel is the model used by a JTreeTable. It extends TreeModel
   * to add methods for getting inforamtion about the set of columns each 
   * node in the TreeTableModel may have. Each column, like a column in 
   * a TableModel, has a name and a type associated with it. Each node in 
   * the TreeTableModel can return a value for each of the columns and 
   * set that value if isCellEditable() returns true. 
   *
   * @author Philip Milne 
   * @author Scott Violet
   */
  public interface TreeTableModel 
  	extends TreeModel
  {
      /**
       * Returns the number ofs availible column.
       */
      public int getColumnCount();
  
      /**
       * Returns the name for column number <code>column</code>.
       */
      public String getColumnName(int column);
  
      /**
       * Returns the type for column number <code>column</code>.
       */
      public Class getColumnClass(int column);
  
      /**
       * Returns the value to be displayed for node <code>node</code>, 
       * at column number <code>column</code>.
       */
      public Object getValueAt(Object node, int column);
  
      /**
       * Indicates whether the the value for node <code>node</code>, 
       * at column number <code>column</code> is editable.
       */
      public boolean isCellEditable(Object node, int column);
  
      /**
       * Sets the value for node <code>node</code>, 
       * at column number <code>column</code>.
       */
      public void setValueAt(Object aValue, Object node, int column);
  }
  
  