com.lowagie.text.pdf

## Class XfaForm.Xml2Som

- java.lang.Object
- - com.lowagie.text.pdf.XfaForm.Xml2Som

Direct Known Subclasses:
  XfaForm.AcroFieldsSearch, XfaForm.Xml2SomDatasets, XfaForm.Xml2SomTemplate

Enclosing class:
  XfaForm

    public static class XfaForm.Xml2Som
    extends java.lang.Object

A class for some basic SOM processing.

### Field Summary

Fields
`protected int` `anform` A temporary store for the repetition count.
`protected java.util.HashMap` `inverseSearch` The data to do a search from the bottom hierarchy.
`protected java.util.HashMap` `name2Node` The mapping of full names to nodes.
`protected java.util.ArrayList` `order` The order the names appear in the XML, depth first.
`protected XfaForm.Stack2` `stack` A stack to be used when parsing.

### Constructor Summary

Constructors
Constructor and Description
`XfaForm.Xml2Som()`

### Method Summary

Methods
`static java.lang.String` `escapeSom(java.lang.String s)` Escapes a SOM string fragment replacing "." with "\.".
`java.util.HashMap` `getInverseSearch()` Gets the data to do a search from the bottom hierarchy.
`java.util.HashMap` `getName2Node()` Gets the mapping of full names to nodes.
`java.util.ArrayList` `getOrder()` Gets the order the names appear in the XML, depth first.
`static java.lang.String` `getShortName(java.lang.String s)` Gets the name with the `#subform` removed.
`static void` `inverseSearchAdd(java.util.HashMap inverseSearch, XfaForm.Stack2 stack, java.lang.String unstack)` Adds a SOM name to the search node chain.
`void` `inverseSearchAdd(java.lang.String unstack)` Adds a SOM name to the search node chain.
`java.lang.String` `inverseSearchGlobal(java.util.ArrayList parts)` Searches the SOM hierarchy from the bottom.
`protected java.lang.String` `printStack()` Outputs the stack as the sequence of elements separated by '.'.
`void` `setInverseSearch(java.util.HashMap inverseSearch)` Sets the data to do a search from the bottom hierarchy.
`void` `setName2Node(java.util.HashMap name2Node)` Sets the mapping of full names to nodes.
`void` `setOrder(java.util.ArrayList order)` Sets the order the names appear in the XML, depth first
`static XfaForm.Stack2` `splitParts(java.lang.String name)` Splits a SOM name in the individual parts.
`static java.lang.String` `unescapeSom(java.lang.String s)` Unescapes a SOM string fragment replacing "\." with ".".

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

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

### Field Detail

#### order

    protected java.util.ArrayList order

The order the names appear in the XML, depth first.

#### name2Node

    protected java.util.HashMap name2Node

The mapping of full names to nodes.

#### inverseSearch

    protected java.util.HashMap inverseSearch

The data to do a search from the bottom hierarchy.

#### stack

    protected XfaForm.Stack2 stack

A stack to be used when parsing.

#### anform

    protected int anform

A temporary store for the repetition count.

### Constructor Detail

#### XfaForm.Xml2Som

    public XfaForm.Xml2Som()

### Method Detail

#### escapeSom

    public static java.lang.String escapeSom(java.lang.String s)

Escapes a SOM string fragment replacing "." with "\.".

Parameters:
  `s` - the unescaped string
Returns:
  the escaped string

#### unescapeSom

    public static java.lang.String unescapeSom(java.lang.String s)

Unescapes a SOM string fragment replacing "\." with ".".

Parameters:
  `s` - the escaped string
Returns:
  the unescaped string

#### printStack

    protected java.lang.String printStack()

Outputs the stack as the sequence of elements separated by '.'.

Returns:
  the stack as the sequence of elements separated by '.'

#### getShortName

    public static java.lang.String getShortName(java.lang.String s)

Gets the name with the `#subform` removed.

Parameters:
  `s` - the long name
Returns:
  the short name

#### inverseSearchAdd

    public void inverseSearchAdd(java.lang.String unstack)

Adds a SOM name to the search node chain.

Parameters:
  `unstack` - the SOM name

#### inverseSearchAdd

    public static void inverseSearchAdd(java.util.HashMap inverseSearch,
                        XfaForm.Stack2 stack,
                        java.lang.String unstack)

Adds a SOM name to the search node chain.

Parameters:
  `inverseSearch` - the start point
  `stack` - the stack with the separated SOM parts
  `unstack` - the full name

#### inverseSearchGlobal

    public java.lang.String inverseSearchGlobal(java.util.ArrayList parts)

Searches the SOM hierarchy from the bottom.

Parameters:
  `parts` - the SOM parts
Returns:
  the full name or `null` if not found

#### splitParts

    public static XfaForm.Stack2 splitParts(java.lang.String name)

Splits a SOM name in the individual parts.

Parameters:
  `name` - the full SOM name
Returns:
  the split name

#### getOrder

    public java.util.ArrayList getOrder()

Gets the order the names appear in the XML, depth first.

Returns:
  the order the names appear in the XML, depth first

#### setOrder

    public void setOrder(java.util.ArrayList order)

Sets the order the names appear in the XML, depth first

Parameters:
  `order` - the order the names appear in the XML, depth first

#### getName2Node

    public java.util.HashMap getName2Node()

Gets the mapping of full names to nodes.

Returns:
  the mapping of full names to nodes

#### setName2Node

    public void setName2Node(java.util.HashMap name2Node)

Sets the mapping of full names to nodes.

Parameters:
  `name2Node` - the mapping of full names to nodes

#### getInverseSearch

    public java.util.HashMap getInverseSearch()

Gets the data to do a search from the bottom hierarchy.

Returns:
  the data to do a search from the bottom hierarchy

#### setInverseSearch

    public void setInverseSearch(java.util.HashMap inverseSearch)

Sets the data to do a search from the bottom hierarchy.

Parameters:
  `inverseSearch` - the data to do a search from the bottom hierarchy