Class XfaForm.Xml2Som

    • Field Detail

      • order

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

        protected HashMap<String,​Node> name2Node
        The mapping of full names to nodes.
      • 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
      • printStack

        protected 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 String getShortName​(String s)
        Gets the name with the #subform removed.
        Parameters:
        s - the long name
        Returns:
        the short name
      • inverseSearchAdd

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

        public static void inverseSearchAdd​(HashMap<String,​XfaForm.InverseStore> inverseSearch,
                                            XfaForm.Stack2<String> 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
      • inverseSearchGlobal

        public String inverseSearchGlobal​(ArrayList<String> 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<String> splitParts​(String name)
        Splits a SOM name in the individual parts.
        Parameters:
        name - the full SOM name
        Returns:
        the split name
      • getOrder

        public ArrayList<String> 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​(ArrayList<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
      • getName2Node

        public HashMap<String,​Node> getName2Node()
        Gets the mapping of full names to nodes.
        Returns:
        the mapping of full names to nodes
      • setName2Node

        public void setName2Node​(HashMap<String,​Node> name2Node)
        Sets the mapping of full names to nodes.
        Parameters:
        name2Node - the mapping of full names to nodes
      • getInverseSearch

        public HashMap<String,​XfaForm.InverseStore> 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​(HashMap<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