org.icefaces.ace.model.tree

## Class NodeDataModel<K>

- java.lang.Object
- - javax.faces.model.DataModel<K>
  - - org.icefaces.ace.model.tree.NodeDataModel<K>

- All Implemented Interfaces:
    java.lang.Iterable<K>
  Direct Known Subclasses:
    DeclarativeNodeDataModel, LazyNodeDataModel, ListNodeDataModel

      public abstract class NodeDataModel<K>
      extends javax.faces.model.DataModel<K>

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NodeDataModel()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `atNullRoot()`
    `abstract java.util.Iterator<java.util.Map.Entry<NodeKey,K>>` | `children()`
    `abstract KeySegmentConverter` | `getConverter()`
    `K` | `getData()`
    `java.util.Map.Entry<NodeKey,K>` | `getEntry()`
    `NodeKey` | `getKey()`
    `int` | `getRowCount()`
    `K` | `getRowData()`
    `int` | `getRowIndex()`
    `void` | `insert(K node, int index)` Insert a node as a child of the current node.
    `abstract boolean` | `isLeaf()`
    `abstract boolean` | `isMutable()`
    `abstract boolean` | `isNodeAvailable()`
    `boolean` | `isRowAvailable()`
    `abstract K` | `navToChild(java.lang.Object keySegment)`
    `abstract K` | `navToKey(NodeKey key)`
    `abstract K` | `navToParent()`
    `void` | `remove(java.lang.Object segOrNode, boolean isSegment)` Remove a node from the children of the current node.
    `abstract void` | `setConverter(KeySegmentConverter converter)`
    `protected void` | `setData(K data)`
    `void` | `setKey(NodeKey key)`
    `void` | `setRowIndex(int rowIndex)`

    - ### Methods inherited from class javax.faces.model.DataModel

      `addDataModelListener, getDataModelListeners, getWrappedData, iterator, removeDataModelListener, setWrappedData`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### NodeDataModel

          public NodeDataModel()

  - ### Method Detail

    - #### getData

          public K getData()

    - #### setData

          protected void setData(K data)

    - #### getKey

          public NodeKey getKey()

    - #### setKey

          public void setKey(NodeKey key)

    - #### getEntry

          public java.util.Map.Entry<NodeKey,K> getEntry()

    - #### atNullRoot

          protected boolean atNullRoot()

    - #### navToKey

          public abstract K navToKey(NodeKey key)

    - #### navToParent

          public abstract K navToParent()

    - #### navToChild

          public abstract K navToChild(java.lang.Object keySegment)

    - #### children

          public abstract java.util.Iterator<java.util.Map.Entry<NodeKey,K>> children()

    - #### getConverter

          public abstract KeySegmentConverter getConverter()

    - #### setConverter

          public abstract void setConverter(KeySegmentConverter converter)

    - #### isNodeAvailable

          public abstract boolean isNodeAvailable()

    - #### isLeaf

          public abstract boolean isLeaf()

    - #### isMutable

          public abstract boolean isMutable()

    - #### insert

          public void insert(K node,
                             int index)

      Insert a node as a child of the current node.
      Parameters:
        `node` - the node to be inserted
        `index` - the position index of the node among siblings

    - #### remove

          public void remove(java.lang.Object segOrNode,
                             boolean isSegment)

      Remove a node from the children of the current node.
      Parameters:
        `segOrNode` - the node to be removed or identifying key segment
        `isSegment` - identify if the first argument is a node or segment

    - #### isRowAvailable

          public boolean isRowAvailable()

      Specified by:
        `isRowAvailable` in class `javax.faces.model.DataModel<K>`

    - #### getRowCount

          public int getRowCount()

      Specified by:
        `getRowCount` in class `javax.faces.model.DataModel<K>`

    - #### getRowData

          public K getRowData()

      Specified by:
        `getRowData` in class `javax.faces.model.DataModel<K>`

    - #### getRowIndex

          public int getRowIndex()

      Specified by:
        `getRowIndex` in class `javax.faces.model.DataModel<K>`

    - #### setRowIndex

          public void setRowIndex(int rowIndex)

      Specified by:
        `setRowIndex` in class `javax.faces.model.DataModel<K>`

Copyright 2025 ICEsoft Technologies Canada, Corp. All Rights Reserved.