## 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
`protected int` `anform` A temporary store for the repetition count.
`protected java.util.HashMap` `inverseSearch` The data to do a search from the bottom hierarchie.
`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
`XfaForm.Xml2Som()`

Method Summary
`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 hierarchie.
`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)` Searchs the SOM hiearchie 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 hierarchie.
`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 hierarchie.

### 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 separeted SOM parts
    `unstack` - the full name

### inverseSearchGlobal

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

  Searchs the SOM hiearchie 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 hierarchie.

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

### setInverseSearch

    public void setInverseSearch(java.util.HashMap inverseSearch)

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

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