org.netbeans.spi.viewmodel.TableModel Maven / Gradle / Ivy
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.netbeans.spi.viewmodel;
/**
* Adds support for columns to basic {@link TreeModel}.
*
* @author Jan Jancura
*/
public interface TableModel extends Model {
/**
* Returns value to be displayed in column columnID
* and row identified by node
. Column ID is defined in by
* {@link ColumnModel#getID}, and rows are defined by values returned from
* {@link org.netbeans.spi.viewmodel.TreeModel#getChildren}.
*
* @param node a object returned from
* {@link org.netbeans.spi.viewmodel.TreeModel#getChildren} for this row
* @param columnID a id of column defined by {@link ColumnModel#getID}
* @throws UnknownTypeException if there is no TableModel defined for given
* parameter type
*
* @return value of variable representing given position in tree table.
*/
public abstract Object getValueAt (Object node, String columnID) throws
UnknownTypeException;
/**
* Returns true if value displayed in column columnID
* and row node
is read only. Column ID is defined in by
* {@link ColumnModel#getID}, and rows are defined by values returned from
* {@link TreeModel#getChildren}.
*
* @param node a object returned from {@link TreeModel#getChildren} for this row
* @param columnID a id of column defined by {@link ColumnModel#getID}
* @throws UnknownTypeException if there is no TableModel defined for given
* parameter type
*
* @return true if variable on given position is read only
*/
public abstract boolean isReadOnly (Object node, String columnID) throws
UnknownTypeException;
/**
* Changes a value displayed in column columnID
* and row node
. Column ID is defined in by
* {@link ColumnModel#getID}, and rows are defined by values returned from
* {@link TreeModel#getChildren}.
*
* @param node a object returned from {@link TreeModel#getChildren} for this row
* @param columnID a id of column defined by {@link ColumnModel#getID}
* @param value a new value of variable on given position
* @throws UnknownTypeException if there is no TableModel defined for given
* parameter type
*/
public abstract void setValueAt (Object node, String columnID, Object value)
throws UnknownTypeException;
/**
* Registers given listener.
*
* @param l the listener to add
*/
public abstract void addModelListener (ModelListener l);
/**
* Unregisters given listener.
*
* @param l the listener to remove
*/
public abstract void removeModelListener (ModelListener l);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy