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
`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
`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