Oracle9i Business Components for Java API Reference
Oracle9i Jdeveloper (9.0.4)
B10391-01


oracle.jbo.uicli.jui
Class JUTreeBinding

java.lang.Object
  |
  +--oracle.jbo.uicli.binding.JUControlBinding
        |
        +--oracle.jbo.uicli.binding.JUCtrlValueBinding
              |
              +--oracle.jbo.uicli.binding.JUCtrlRangeBinding
                    |
                    +--oracle.jbo.uicli.binding.JUCtrlHierBinding
                          |
                          +--oracle.jbo.uicli.jui.JUTreeBinding
All Implemented Interfaces:
AttributeList, java.util.EventListener, javax.swing.event.TreeExpansionListener, javax.swing.tree.TreeModel, javax.swing.event.TreeSelectionListener

public class JUTreeBinding
extends JUCtrlHierBinding
implements javax.swing.event.TreeExpansionListener, javax.swing.event.TreeSelectionListener, javax.swing.tree.TreeModel

A lightweight Document model that implements binding a javax.swing.JTree to a BC4J RowIterator and display a selected attribute. Each tree node may display a set of child nodes bound to another Iterator that is retrieved via an accessor on the rows of the first iterator.

This binding allows Trees that can have two types of nodes:

See Also:
RowIterator, JTree, TreeModel, TreeNode

Field Summary

 

Fields inherited from class oracle.jbo.uicli.binding.JUCtrlHierBinding
mTypeBindings

 

Constructor Summary
JUTreeBinding(javax.swing.JTree tr, JUIteratorBinding iterBinding, JUCtrlHierTypeBinding[] typeBindings)
          This constructor binds a JTree with Rows from a given JUIteratorBinding and displays data as per the node-types passed in typeBindings.
JUTreeBinding(javax.swing.JTree tr, JUIteratorBinding iterBinding, java.lang.String attrName, JUCtrlHierTypeBinding[] typeBindings)
          *** For internal framework use only ***

 

Method Summary
 void addControlToPanel(java.lang.Object panel, java.lang.Object layoutObject, java.lang.Object layoutCons)
          *** For internal framework use only ***
 void addTreeModelListener(javax.swing.event.TreeModelListener l)
           
static javax.swing.tree.DefaultTreeModel createTreeNodeTypeBinding(JUFormBinding formBinding, javax.swing.JTree control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, JUCtrlHierTypeBinding[] nodeBindings)
          This method is used by the JClient model-binding editors to bind a JTree to this binding.
 java.lang.String[] getAttributeNames()
          Returns the attribute that is displayed in the first-level nodes of this tree.
 java.lang.Object getChild(java.lang.Object parent, int index)
           
 int getChildCount(java.lang.Object parent)
           
 int getIndexOfChild(java.lang.Object parent, java.lang.Object child)
           
static javax.swing.tree.DefaultTreeModel getInstance(JUFormBinding formBinding, javax.swing.JTree control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, JUCtrlHierTypeBinding[] nodeBindings)
          Deprecated. since 9.0.2
 java.lang.Object getLayoutObject()
          *** For internal framework use only ***
protected  javax.swing.tree.DefaultTreeModel getModelImpl(javax.swing.JTree control)
          Returns the TreeModel to which the associated JTree is bound.
 java.lang.Object getRoot()
           
 JUTreeNodeBinding getRootBinding()
          Returns the root node binding that contains the iterator that the root node is displaying.
 java.lang.Object getValueAt(int rowIndex, int attrIndex)
          Returns null, as tree is not implemented to return attribute values for a given Row.
 boolean isLeaf(java.lang.Object node)
           
 void removeTreeModelListener(javax.swing.event.TreeModelListener l)
           
 void setLayoutObject(javax.swing.JScrollPane scrollPane)
          *** For internal framework use only ***
 void setValueAt(java.lang.Object value, int rowIndex, int attrIndex)
          This method is a noop.
 void treeCollapsed(javax.swing.event.TreeExpansionEvent e)
           
 void treeExpanded(javax.swing.event.TreeExpansionEvent e)
           
 void updateValuesFromRow(Row row)
          This method is called in the framework when values of a single row need to be updated in a control (typically on a navigation event).
 void updateValuesFromRows(Row[] rows, boolean clear)
          Updates the nodes in the tree based on the given set of rows.
 void valueChanged(javax.swing.event.TreeSelectionEvent e)
           
 void valueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)
           

 

Methods inherited from class oracle.jbo.uicli.binding.JUCtrlHierBinding
getTypeBindings

 

Methods inherited from class oracle.jbo.uicli.binding.JUCtrlRangeBinding
getEstimatedRowCount, refreshControl, updateNavigated, updateRangeScrolled

 

Methods inherited from class oracle.jbo.uicli.binding.JUCtrlValueBinding
findAttributeDef, getAttribute, getAttribute, getAttributeCount, getAttributeDef, getAttributeDefs, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeIndexOf, getAttributeValues, isArrayIteratorType, isAttributeUpdateable, setArrayIteratorType, setAttribute, setAttribute, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, stopEditing, updateRowDeleted, updateRowInserted

 

Methods inherited from class oracle.jbo.uicli.binding.JUControlBinding
executeQuery, executeQueryIfNeeded, getAllRowsInRange, getApplicationModule, getControl, getCurrentRow, getDef, getFormBinding, getIteratorBinding, getName, getRowAtRangeIndex, getRowIterator, getTransaction, getViewObject, isControlQueriable, reportException, reportException, setFormBinding, setName

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Constructor Detail

JUTreeBinding

public JUTreeBinding(javax.swing.JTree tr,
JUIteratorBinding iterBinding,
JUCtrlHierTypeBinding[] typeBindings)
This constructor binds a JTree with Rows from a given JUIteratorBinding and displays data as per the node-types passed in typeBindings.

JUTreeBinding

public JUTreeBinding(javax.swing.JTree tr,
JUIteratorBinding iterBinding,
                     java.lang.String attrName,
JUCtrlHierTypeBinding[] typeBindings)
*** For internal framework use only ***
Method Detail

createTreeNodeTypeBinding

public static javax.swing.tree.DefaultTreeModel createTreeNodeTypeBinding(JUFormBinding formBinding,
                                                                          javax.swing.JTree control,
                                                                          java.lang.String voInstanceName,
                                                                          java.lang.String voIterName,
                                                                          java.lang.String voIterBindingName,
JUCtrlHierTypeBinding[] nodeBindings)
This method is used by the JClient model-binding editors to bind a JTree to this binding. The rules for ViewObjects that will be displayed in this binding are passed in the nodeBindings array.

The rules the govern the node bindings are:


getInstance

public static javax.swing.tree.DefaultTreeModel getInstance(JUFormBinding formBinding,
                                                            javax.swing.JTree control,
                                                            java.lang.String voInstanceName,
                                                            java.lang.String voIterName,
                                                            java.lang.String voIterBindingName,
JUCtrlHierTypeBinding[] nodeBindings)
Deprecated. since 9.0.2

getModelImpl

protected javax.swing.tree.DefaultTreeModel getModelImpl(javax.swing.JTree control)
Returns the TreeModel to which the associated JTree is bound. Unlike JUTableBinding, tree binding does not implement a custom TreeModel, but rather reuses the existing TreeModel in JTree and simply attaches itself as an associate to the TreeModel and passes BC4J data to it.

addControlToPanel

public void addControlToPanel(java.lang.Object panel,
                              java.lang.Object layoutObject,
                              java.lang.Object layoutCons)
*** For internal framework use only ***
Specified by:
addControlToPanel in class JUControlBinding

getLayoutObject

public java.lang.Object getLayoutObject()
*** For internal framework use only ***
Overrides:
getLayoutObject in class JUControlBinding

setLayoutObject

public void setLayoutObject(javax.swing.JScrollPane scrollPane)
*** For internal framework use only ***

getValueAt

public java.lang.Object getValueAt(int rowIndex,
                                   int attrIndex)
Returns null, as tree is not implemented to return attribute values for a given Row. The displayed value is accessible via the TreeModel.
Specified by:
getValueAt in class JUCtrlRangeBinding

setValueAt

public void setValueAt(java.lang.Object value,
                       int rowIndex,
                       int attrIndex)
This method is a noop. JUTreeBinding is currently only a readonly binding
Specified by:
setValueAt in class JUCtrlRangeBinding

getAttributeNames

public java.lang.String[] getAttributeNames()
Returns the attribute that is displayed in the first-level nodes of this tree.
Specified by:
getAttributeNames in interface AttributeList
Overrides:
getAttributeNames in class JUCtrlValueBinding

updateValuesFromRows

public void updateValuesFromRows(Row[] rows,
                                 boolean clear)
Updates the nodes in the tree based on the given set of rows. Clears the existing display if clear flag is true.
Overrides:
updateValuesFromRows in class JUCtrlRangeBinding

updateValuesFromRow

public void updateValuesFromRow(Row row)
This method is called in the framework when values of a single row need to be updated in a control (typically on a navigation event).
Overrides:
updateValuesFromRow in class JUCtrlRangeBinding

getRootBinding

public JUTreeNodeBinding getRootBinding()
Returns the root node binding that contains the iterator that the root node is displaying.

treeCollapsed

public void treeCollapsed(javax.swing.event.TreeExpansionEvent e)
Specified by:
treeCollapsed in interface javax.swing.event.TreeExpansionListener

treeExpanded

public void treeExpanded(javax.swing.event.TreeExpansionEvent e)
Specified by:
treeExpanded in interface javax.swing.event.TreeExpansionListener

valueChanged

public void valueChanged(javax.swing.event.TreeSelectionEvent e)
Specified by:
valueChanged in interface javax.swing.event.TreeSelectionListener

getRoot

public java.lang.Object getRoot()
Specified by:
getRoot in interface javax.swing.tree.TreeModel

getChild

public java.lang.Object getChild(java.lang.Object parent,
                                 int index)
Specified by:
getChild in interface javax.swing.tree.TreeModel

getChildCount

public int getChildCount(java.lang.Object parent)
Specified by:
getChildCount in interface javax.swing.tree.TreeModel

isLeaf

public boolean isLeaf(java.lang.Object node)
Specified by:
isLeaf in interface javax.swing.tree.TreeModel

valueForPathChanged

public void valueForPathChanged(javax.swing.tree.TreePath path,
                                java.lang.Object newValue)
Specified by:
valueForPathChanged in interface javax.swing.tree.TreeModel

getIndexOfChild

public int getIndexOfChild(java.lang.Object parent,
                           java.lang.Object child)
Specified by:
getIndexOfChild in interface javax.swing.tree.TreeModel

addTreeModelListener

public void addTreeModelListener(javax.swing.event.TreeModelListener l)
Specified by:
addTreeModelListener in interface javax.swing.tree.TreeModel

removeTreeModelListener

public void removeTreeModelListener(javax.swing.event.TreeModelListener l)
Specified by:
removeTreeModelListener in interface javax.swing.tree.TreeModel

Oracle9i Business Components for Java API Reference
Oracle9i Jdeveloper (9.0.4)
B10391-01


 

Copyright © 1997, 2003, Oracle. All rights reserved.