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 Object
A class for some basic SOM processing.
  • Field Details

    • order

      protected List<String> order
      The order the names appear in the XML, depth first.
    • name2Node

      protected Map<String,Node> name2Node
      The mapping of full names to nodes.
    • inverseSearch

      protected Map<String,XfaForm.InverseStore> 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 Details

    • Xml2Som

      public Xml2Som()
  • Method Details

    • escapeSom

      public static String escapeSom(String s)
      Escapes a SOM string fragment replacing "." with "\.".
      Parameters:
      s - the unescaped string
      Returns:
      the escaped string
    • unescapeSom

      public static String unescapeSom(String s)
      Unescapes a SOM string fragment replacing "\." with ".".
      Parameters:
      s - the escaped string
      Returns:
      the unescaped string
    • getShortName

      public static String getShortName(String s)
      Gets the name with the #subform removed.
      Parameters:
      s - the long name
      Returns:
      the short name
    • addSomNameToSearchNodeChain

      public static void addSomNameToSearchNodeChain(Map<String,XfaForm.InverseStore> inverseSearch, XfaForm.Stack2 stack, 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
    • splitParts

      public static XfaForm.Stack2 splitParts(String name)
      Splits a SOM name in the individual parts.
      Parameters:
      name - the full SOM name
      Returns:
      the split name
    • printStack

      protected String printStack()
      Outputs the stack as the sequence of elements separated by '.'.
      Returns:
      the stack as the sequence of elements separated by '.'
    • inverseSearchAdd

      public void inverseSearchAdd(String unstack)
      Adds a SOM name to the search node chain.
      Parameters:
      unstack - the SOM name
    • inverseSearch

      public String inverseSearch(List<String> parts)
      Searches the SOM hierarchy from the bottom.
      Parameters:
      parts - the SOM parts
      Returns:
      the full name or null if not found
    • getNamesOrder

      public List<String> getNamesOrder()
      Gets the order the names appear in the XML, depth first.
      Returns:
      the order the names appear in the XML, depth first
    • setNamesOrder

      public void setNamesOrder(List<String> order)
      Sets the order the names appear in the XML, depth first
      Parameters:
      order - the order the names appear in the XML, depth first
    • getNodesByName

      public Map<String,Node> getNodesByName()
      Gets the mapping of full names to nodes.
      Returns:
      the mapping of full names to nodes
    • setNodesByName

      public void setNodesByName(Map<String,Node> name2Node)
      Sets the mapping of full names to nodes.
      Parameters:
      name2Node - the mapping of full names to nodes
    • getInverseSearchData

      public Map<String,XfaForm.InverseStore> getInverseSearchData()
      Gets the data to do a search from the bottom hierarchy.
      Returns:
      the data to do a search from the bottom hierarchy
    • setInverseSearchData

      public void setInverseSearchData(Map<String,XfaForm.InverseStore> inverseSearch)
      Sets the data to do a search from the bottom hierarchy.
      Parameters:
      inverseSearch - the data to do a search from the bottom hierarchy