public class JUTreeBinding extends JUCtrlHierBinding implements javax.swing.event.TreeExpansionListener, javax.swing.event.TreeSelectionListener, javax.swing.tree.TreeModel
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:
RowIterator, 
JTree, 
TreeModel, 
TreeNodeATTR_CHILDREN, ATTR_ROOTNODE, mRootBinding, mTypeBindingsATTR_ATTRIBUTE, ATTR_ATTRIBUTE_DEF, ATTR_ATTRIBUTE_DEFS, ATTR_ATTRIBUTE_VALUE, ATTR_ATTRIBUTE_VALUES, ATTR_ATTRIBUTES, ATTR_AUTOSUBMIT, ATTR_CATEGORY, ATTR_DISPLAY_HEIGHT, ATTR_DISPLAY_HINT, ATTR_DISPLAY_WIDTH, ATTR_FIELD_ORDER, ATTR_FORMAT, ATTR_FORMATS, ATTR_HINTS, ATTR_INPUT_VALUE, ATTR_LABEL, ATTR_LABELS, ATTR_LABELSET, ATTR_MANDATORY, ATTR_PATH, ATTR_TOOLTIP, ATTR_UPDATEABLE, ATTR_VIEWABLE, DATACHANGE_EVENT_POLICY, EMPTY_STRING, GET_ALLOWS, mAttrs, mHasInputVal, mInputVal, SEP_LIST_DISPLAYATTR_CURRENTROW, ATTR_DEF, ATTR_ERROR, ATTR_ERRORS, ATTR_FULLNAME, ATTR_ITER, ATTR_NAME, DC_BINDING_ERROR, mAttributeListener, mInternalGet_KeyResolved, mPermission, mPermissionInfo, ROW_KEY_STRMAP_NULL_VALUE| Constructor and Description | 
|---|
| 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 *** | 
| Modifier and Type | Method and Description | 
|---|---|
| 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) | 
| protected JUCtrlHierNodeBinding | createNodeBinding(JUCtrlHierNodeBinding parent,
                 JUIteratorBinding iterBinding,
                 JUCtrlHierTypeBinding typeBinding,
                 Row row,
                 boolean expandable) | 
| protected void | createRootBinding() | 
| 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) | 
| java.lang.Object | getControlModel(java.lang.Object control)Gets the associated View's model object. | 
| 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. | 
| protected JUTreeNodeBinding | getNodeBinding(javax.swing.tree.DefaultMutableTreeNode treeNode) | 
| 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) | 
| protected JUCtrlHierNodeBinding | restoreTreeAndExpand(java.util.ArrayList al)Advanced method: Applications should not use this method | 
| void | setControl(java.lang.Object ctrl)Sets the associated Swing control. | 
| 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 | updateRangeScrolled(ScrollEvent event)Method to handle scroll events from the BC4J iterator. | 
| 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 | valueChanged(javax.swing.event.TreeSelectionEvent e) | 
| void | valueForPathChanged(javax.swing.tree.TreePath path,
                   java.lang.Object newValue) | 
bringNodeToRangeKeyPath, clearAttrDefs, clearRootBinding, findNodeByDCEPath, findNodeByKeyPath, getChildren, getFormats, getHintMap, getHints, getLabels, getMasterNodeForDCE, getRootNodeBinding, getTypeBindings, internalGet, internalGetRootNodeBinding, reinitializeForAllNodes, release, setAttributeNames, setAttributes, setDef, setTypeBindings, updateValuesFromRowscreateValueBindingRef, findOrCreateSelectionAttributeDef, getCurrentRowIndex, getDeferredEstimatedRowCount, getEstimatedRowCount, getInputErrorsForRowKey, getInputValueInRow, getRangeSet, getRangeSize, getRangeStart, isSelectionEnabled, needsEstimatedRowCount, refreshControl, setCurrentRowAtIndex, setInputValueInRow, setRangeStart, updateNavigated, useRowSpecificHintsaddBindingContainerChangeListenerForCtxEvent, addDataChangeListener, clearEventsCache, compareAndSetAttribute, createAndNotifyDCE, createEventProducer, displayInShortForm, ensureVariableManager, eventForMyRow, fetchAttrDefs, findAttributeDef, generateDCE, getAttribute, getAttribute, getAttribute, getAttributeCount, getAttributeDef, getAttributeDef, getAttributeDefs, getAttributeDefsForRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeIndexOf, getAttributes, getAttributes, getAttributeUIHelper, getAttributeValidators, getAttributeValidators, getAttributeValue, getAttributeValue, getAttributeValueFromRow, getAttributeValues, getAttributeValues, getAttrViewExpressions, getBindingHint, getCachedEvents, getCategory, getChangeEventPolicy, getColumnNameForQuery, getControlType, getDataChangeEventPolicy, getDataChangeListener, getDisplayHeight, getDisplayHint, getDisplayWidth, getError, getErrors, getEventProducer, getFieldOrder, getFormat, getFormattedAttributeValue, getHint, getHint, getInputValue, getInputValue, getInputValueHandler, getInputValueOnError, getIteratorBindingForDCE, getIteratorRenderHint, getLabel, getLabel, getLabelSet, getLastEventId, getLocaleContext, getMasterKeyPathForDCE, getMergedAttributeValues, getNullValueString, getPath, getPermissionDef, getPermissionHolder, getPermissionInfo, getSelectionDef, getState, getTooltip, getTooltip, hasEventProducer, hasFormatInformation, hasServerBindingChanged, hasVariables, initResources, internalGetDataControlReference, internalGetRow, internalHasPermission, internalHasPermission, isArrayIteratorType, isAttributeMandatory, isAttributeUpdateable, isAttributeUpdateable, isAttributeUpdateable, isAttributeUpdateable, isAutoSubmit, isEventsCachingEnabled, isMandatory, isNewInputValue, isNullInsertKeyPathForDCE, isPushDataChangeEvents, isPushOrPollDataChangeEvents, isUpdateable, isViewable, lookupAttributeDef, notifyDataChangeEvent, notifyDataExceptionEvent, notifyDCE, pinDataControl, processInputException, processNewInputValue, put, removeAttrName, removeDataChangeListener, removeFromDCExceptions, resetAttributeDefs, resetInputState, resolvePath, restoreFromState, setArrayIteratorType, setAttribute, setAttribute, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeValue, setAttributeValuesInRow, setAttrViewExpressions, setError, setEventProducer, setEventsCaching, setInputValue, setInputValue, setInputValueHandler, setIteratorBinding, setListener, setNullValueString, startEvents, stopEditing, stopEvents, updateRow, updateRowDeleted, updateRowInserted, validateInputValuegetCurrentRow, getFormBinding, getIteratorBinding, reportException, setFormBindingaddToDCExceptions, evaluateBooleanExpression, executeQuery, executeQueryIfNeeded, get, getAllRowsInRange, getApplicationModule, getAttributeListener, getBindingContainer, getControl, getDCIteratorBinding, getDef, getDefFullName, getDefName, getFullName, getName, getPermission, getPermissionTargetName, getRowAtRangeIndex, getRowIterator, getTransaction, getViewableExpr, getViewObject, hasAttributeListener, hashCode, internalGetDataControl, internalSetName, isAssociatedWithDataControl, isControlQueriable, isControlViewable, isReleased, release, reportException, resetAttributeExceptionInRow, setBindingContainer, setDataControlPinned, setListener, setName, setViewableExpr, toStringentrySet, equals, internalPut, setThrowIfPropertyNotFoundOnGetclear, clone, containsKey, containsValue, isEmpty, keySet, putAll, remove, size, valuesfinalize, getClass, notify, notifyAll, wait, wait, waitgetLabelSetsetListenergetName, getPath, release, resolvePath, setListenergetDefFullName, getDefName, getFullName, getNamepublic JUTreeBinding(javax.swing.JTree tr,
             JUIteratorBinding iterBinding,
             JUCtrlHierTypeBinding[] typeBindings)
public JUTreeBinding(javax.swing.JTree tr,
             JUIteratorBinding iterBinding,
             java.lang.String attrName,
             JUCtrlHierTypeBinding[] typeBindings)
public java.lang.Object getControlModel(java.lang.Object control)
getControlModel in class DCControlBindingpublic 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)
The rules the govern the node bindings are:
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)
public void setControl(java.lang.Object ctrl)
DCControlBindingsetControl in class DCControlBindingprotected javax.swing.tree.DefaultTreeModel getModelImpl(javax.swing.JTree control)
public void addControlToPanel(java.lang.Object panel,
                     java.lang.Object layoutObject,
                     java.lang.Object layoutCons)
addControlToPanel in class JUCtrlRangeBindingpublic java.lang.Object getLayoutObject()
getLayoutObject in class DCControlBindingpublic void setLayoutObject(javax.swing.JScrollPane scrollPane)
public java.lang.Object getValueAt(int rowIndex,
                          int attrIndex)
getValueAt in class JUCtrlRangeBindingpublic void setValueAt(java.lang.Object value,
              int rowIndex,
              int attrIndex)
setValueAt in class JUCtrlRangeBindingpublic java.lang.String[] getAttributeNames()
getAttributeNames in class JUCtrlValueBindingpublic JUTreeNodeBinding getRootBinding()
protected JUTreeNodeBinding getNodeBinding(javax.swing.tree.DefaultMutableTreeNode treeNode)
protected JUCtrlHierNodeBinding createNodeBinding(JUCtrlHierNodeBinding parent, JUIteratorBinding iterBinding, JUCtrlHierTypeBinding typeBinding, Row row, boolean expandable)
createNodeBinding in class JUCtrlHierBindingprotected void createRootBinding()
createRootBinding in class JUCtrlHierBindingprotected JUCtrlHierNodeBinding restoreTreeAndExpand(java.util.ArrayList al)
restoreTreeAndExpand in class JUCtrlHierBindingpublic void updateValuesFromRow(Row row)
updateValuesFromRow in class JUCtrlHierBindingpublic void updateRangeScrolled(ScrollEvent event)
JUCtrlRangeBindingupdateRangeScrolled in class JUCtrlRangeBindingScrollEventpublic void treeCollapsed(javax.swing.event.TreeExpansionEvent e)
treeCollapsed in interface javax.swing.event.TreeExpansionListenerpublic void treeExpanded(javax.swing.event.TreeExpansionEvent e)
treeExpanded in interface javax.swing.event.TreeExpansionListenerpublic void valueChanged(javax.swing.event.TreeSelectionEvent e)
valueChanged in interface javax.swing.event.TreeSelectionListenerpublic java.lang.Object getRoot()
getRoot in interface javax.swing.tree.TreeModelpublic java.lang.Object getChild(java.lang.Object parent,
                        int index)
getChild in interface javax.swing.tree.TreeModelpublic int getChildCount(java.lang.Object parent)
getChildCount in interface javax.swing.tree.TreeModelpublic boolean isLeaf(java.lang.Object node)
isLeaf in interface javax.swing.tree.TreeModelpublic void valueForPathChanged(javax.swing.tree.TreePath path,
                       java.lang.Object newValue)
valueForPathChanged in interface javax.swing.tree.TreeModelpublic int getIndexOfChild(java.lang.Object parent,
                  java.lang.Object child)
getIndexOfChild in interface javax.swing.tree.TreeModelpublic void addTreeModelListener(javax.swing.event.TreeModelListener l)
addTreeModelListener in interface javax.swing.tree.TreeModelpublic void removeTreeModelListener(javax.swing.event.TreeModelListener l)
removeTreeModelListener in interface javax.swing.tree.TreeModel