com.lowagie.rups.view.itext.treenodes

## Class XfaTreeNode

- java.lang.Object
- - javax.swing.tree.DefaultMutableTreeNode
  - - com.lowagie.rups.view.icons.IconTreeNode
    - - com.lowagie.rups.view.itext.treenodes.FormTreeNode
      - - com.lowagie.rups.view.itext.treenodes.XfaTreeNode

- All Implemented Interfaces:
    OutputStreamResource, java.io.Serializable, java.lang.Cloneable, javax.swing.tree.MutableTreeNode, javax.swing.tree.TreeNode

      public class XfaTreeNode
      extends FormTreeNode
      implements OutputStreamResource

  This is the root tree node for the different parts of the XFA resource; it's a child of the root in the FormTree. This resource can be one XDP stream (in which case this root will only have one child) or different streams with individual packets comprising the XML Data Package.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static byte[]` | `BOUNDARY_END` End sequence of an artificial boundary between XFA fragments added by RUPS
    `static byte[]` | `BOUNDARY_MIDDLE` Middle sequence of an artificial boundary between XFA fragments added by RUPS
    `static byte[]` | `BOUNDARY_START` Start sequence of an artificial boundary between XFA fragments added by RUPS
    `private static long` | `serialVersionUID` A serial version UID.

    - ### Fields inherited from class com.lowagie.rups.view.itext.treenodes.FormTreeNode

      `object_node`

    - ### Fields inherited from class com.lowagie.rups.view.icons.IconTreeNode

      `icon`

    - ### Fields inherited from class javax.swing.tree.DefaultMutableTreeNode

      `allowsChildren, children, EMPTY_ENUMERATION, parent, userObject`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XfaTreeNode(PdfObjectTreeNode xfa)` Creates the root node of the XFA tree.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addPacket(java.lang.String key, PdfObjectTreeNode value)` Adds a child node to the XFA root.
    `void` | `writeTo(java.io.OutputStream os)` Writes (part of) the XFA resource to an OutputStream.

    - ### Methods inherited from class com.lowagie.rups.view.itext.treenodes.FormTreeNode

      `getCorrespondingPdfObjectNode`

    - ### Methods inherited from class com.lowagie.rups.view.icons.IconTreeNode

      `getIcon`

    - ### Methods inherited from class javax.swing.tree.DefaultMutableTreeNode

      `add, breadthFirstEnumeration, children, clone, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildAt, getChildBefore, getChildCount, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isLeaf, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObject, toString`

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

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

- - ### Field Detail

    - #### BOUNDARY_START

          public static final byte[] BOUNDARY_START

      Start sequence of an artificial boundary between XFA fragments added by RUPS

    - #### BOUNDARY_MIDDLE

          public static final byte[] BOUNDARY_MIDDLE

      Middle sequence of an artificial boundary between XFA fragments added by RUPS

    - #### BOUNDARY_END

          public static final byte[] BOUNDARY_END

      End sequence of an artificial boundary between XFA fragments added by RUPS

    - #### serialVersionUID

          private static final long serialVersionUID

      A serial version UID.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### XfaTreeNode

          public XfaTreeNode(PdfObjectTreeNode xfa)

      Creates the root node of the XFA tree. This will be a child of the FormTree root node.
      Parameters:
        `xfa` - the XFA node in the PdfTree (a child of the AcroForm node in the PDF catalog)

  - ### Method Detail

    - #### writeTo

          public void writeTo(java.io.OutputStream os)
                       throws java.io.IOException

      Writes (part of) the XFA resource to an OutputStream. If key is `null`, the complete resource is written; if key refers to an individual package, this package only is written to the OutputStream.
      Specified by:
        `writeTo` in interface `OutputStreamResource`
      Parameters:
        `os` - the OutputStream to which the XML is written.
      Throws:
        `java.io.IOException` - usual exception when there's a problem writing to an OutputStream

    - #### addPacket

          public void addPacket(java.lang.String key,
                       PdfObjectTreeNode value)

      Adds a child node to the XFA root. The child node either corresponds with the complete XDP stream (if the XFA root only has one child) or with individual packet.
      Parameters:
        `key` - the name of the packet
        `value` - the corresponding stream node in the PdfTree