Class XfaForm.Xml2Som

    • Field Detail

      • 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.
      • 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

      • Xml2Som

        public Xml2Som()
    • Method Detail

      • 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