## org.exist.client.xacml
Class RootNode

    java.lang.Object
      org.exist.client.xacml.AbstractTreeNode
          org.exist.client.xacml.RootNode

All Implemented Interfaces:
  NodeChangeListener, NodeContainer, PolicyElementContainer, XACMLTreeNode

public class RootNode
extends AbstractTreeNode
implements PolicyElementContainer

Constructor Summary
`RootNode()`

Method Summary
`void` `add(int index, PolicyElementNode node)`
`void` `add(int index, com.sun.xacml.PolicyTreeElement element)`
`void` `add(PolicyElementNode node)`
`void` `add(com.sun.xacml.PolicyTreeElement element)`
`void` `addNodeChangeListener(NodeChangeListener listener)`
`void` `commit(boolean deep)` Commits the state of this element.
`boolean` `containsId(java.lang.String id)`
`XACMLTreeNode` `getChild(int index)` Gets the child at the specified index.
`int` `getChildCount()` Gets the number of children of this element.
`java.util.Set` `getRemovedDocumentNames()`
`int` `indexOfChild(java.lang.Object child)` Gets the index of a particular child.
`boolean` `isModified(boolean deep)` Returns true if this element has been modified.
`void` `nodeAdded(XACMLTreeNode node, int newIndex)`
`void` `nodeChanged(XACMLTreeNode node)`
`void` `nodeRemoved(XACMLTreeNode removedNode, int oldChildIndex)`
`void` `remove(PolicyElementNode node)`
`void` `removeNodeChangeListener(NodeChangeListener listener)`
`void` `revert(boolean deep)` Reverts the state of this element to the last commit.
`java.lang.String` `serialize(boolean indent)` Serializes this node to a `String`

Methods inherited from class org.exist.client.xacml.AbstractTreeNode
`getParent, setModified`

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

Methods inherited from interface org.exist.client.xacml.XACMLTreeNode
`getParent, setModified`

Constructor Detail

### RootNode

    public RootNode()

Method Detail

### add

    public void add(com.sun.xacml.PolicyTreeElement element)

  Specified by:
    `add` in interface `PolicyElementContainer`

### add

    public void add(int index,
                    com.sun.xacml.PolicyTreeElement element)

  Specified by:
    `add` in interface `PolicyElementContainer`

### add

    public void add(PolicyElementNode node)

  Specified by:
    `add` in interface `PolicyElementContainer`

### add

    public void add(int index,
                    PolicyElementNode node)

  Specified by:
    `add` in interface `PolicyElementContainer`

### remove

    public void remove(PolicyElementNode node)

  Specified by:
    `remove` in interface `PolicyElementContainer`

### containsId

    public boolean containsId(java.lang.String id)

  Specified by:
    `containsId` in interface `PolicyElementContainer`

### getChildCount

    public int getChildCount()

  Description copied from interface: `NodeContainer`
  Gets the number of children of this element. Children should include the target of this element, the condition of a rule, child policies or policy sets of a policy set, or child rules of a policy.

  Specified by:
    `getChildCount` in interface `NodeContainer`
  Returns:
    the number of children

### getChild

    public XACMLTreeNode getChild(int index)

  Description copied from interface: `NodeContainer`
  Gets the child at the specified index. Children may include the target of this element, the condition of a rule, child policies or policy sets of a policy set, or child rules of a policy.

  Specified by:
    `getChild` in interface `NodeContainer`
  Parameters:
    `index` - The child's position
  Returns:
    the child

### indexOfChild

    public int indexOfChild(java.lang.Object child)

  Description copied from interface: `NodeContainer`
  Gets the index of a particular child. This operates on reference equality, not equals.

  Specified by:
    `indexOfChild` in interface `NodeContainer`
  Parameters:
    `child` - The child to obtain the index of
  Returns:
    The child's index, or -1 if it is not a child of this policy element

### isModified

    public boolean isModified(boolean deep)

  Description copied from interface: `XACMLTreeNode`
  Returns true if this element has been modified. If deep is true, then this takes into account the status of any descendants.

  Specified by:
    `isModified` in interface `XACMLTreeNode`
  Overrides:
    `isModified` in class `AbstractTreeNode`

### revert

    public void revert(boolean deep)

  Description copied from interface: `XACMLTreeNode`
  Reverts the state of this element to the last commit. If deep is true, then this includes any descendants.

  Specified by:
    `revert` in interface `XACMLTreeNode`
  Overrides:
    `revert` in class `AbstractTreeNode`

### commit

    public void commit(boolean deep)

  Description copied from interface: `XACMLTreeNode`
  Commits the state of this element. This state will be the state reverted to when revert is called. If deep is true, then this includes any descendants.

  Specified by:
    `commit` in interface `XACMLTreeNode`
  Overrides:
    `commit` in class `AbstractTreeNode`

### getRemovedDocumentNames

    public java.util.Set getRemovedDocumentNames()

### addNodeChangeListener

    public void addNodeChangeListener(NodeChangeListener listener)

### removeNodeChangeListener

    public void removeNodeChangeListener(NodeChangeListener listener)

### nodeChanged

    public void nodeChanged(XACMLTreeNode node)

  Specified by:
    `nodeChanged` in interface `NodeChangeListener`

### nodeAdded

    public void nodeAdded(XACMLTreeNode node,
                          int newIndex)

  Specified by:
    `nodeAdded` in interface `NodeChangeListener`

### nodeRemoved

    public void nodeRemoved(XACMLTreeNode removedNode,
                            int oldChildIndex)

  Specified by:
    `nodeRemoved` in interface `NodeChangeListener`

### serialize

    public java.lang.String serialize(boolean indent)

  Description copied from interface: `XACMLTreeNode`
  Serializes this node to a `String`

  Specified by:
    `serialize` in interface `XACMLTreeNode`
  Parameters:
    `indent` - Whether or not the XML should be indented
  Returns:
    The string representation of this node

Copyright (C) Wolfgang Meier. All rights reserved.