Class StaxParserUtil


  • public class StaxParserUtil
    extends Object
    Utility for the stax based parser
    Since:
    Feb 8, 2010
    Author:
    Anil.Saldhana@redhat.com
    • Constructor Detail

      • StaxParserUtil

        public StaxParserUtil()
    • Method Detail

      • bypassElementBlock

        public static void bypassElementBlock​(XMLEventReader xmlEventReader,
                                              String tag)
                                       throws ParsingException
        Bypass an entire XML element block from startElement to endElement. It is expected that the xmlEventReader is positioned at (has not yet read) the start element of the block it should bypass.
        Parameters:
        xmlEventReader -
        tag - Tag of the XML element that we need to bypass
        Throws:
        ParsingException
      • bypassElementBlock

        public static void bypassElementBlock​(XMLEventReader xmlEventReader,
                                              QName tag)
                                       throws ParsingException
        Bypass an entire XML element block from startElement to endElement. It is expected that the xmlEventReader is positioned at (has not yet read) the start element of the block it should bypass.
        Parameters:
        xmlEventReader -
        tag - Tag of the XML element that we need to bypass
        Throws:
        ParsingException
      • bypassElementBlock

        public static XMLEvent bypassElementBlock​(XMLEventReader xmlEventReader)
                                           throws ParsingException
        Bypass an entire XML element block. It is expected that the xmlEventReader is positioned at (has not yet read) the start element of the block it should bypass.
        Parameters:
        xmlEventReader -
        Throws:
        ParsingException
      • wasWhitespacePeeked

        public static boolean wasWhitespacePeeked​(XMLEventReader xmlEventReader,
                                                  XMLEvent xmlEvent)
        Advances reader if character whitespace encountered
        Parameters:
        xmlEventReader -
        xmlEvent -
        Returns:
      • getAttributeValue

        public static String getAttributeValue​(Attribute attribute)
        Given an Attribute, get its trimmed value
        Parameters:
        attribute -
        Returns:
      • getAttributeValueRP

        public static String getAttributeValueRP​(Attribute attribute)
        Given an Attribute, get its trimmed value, replacing every occurrence of ${..} by corresponding system property value
        Parameters:
        attribute -
        Returns:
      • getAttributeValue

        @Deprecated
        public static String getAttributeValue​(StartElement startElement,
                                               String tag)
        Deprecated.
        Get the Attribute value
        Parameters:
        startElement -
        tag - localpart of the qname of the attribute
        Returns:
      • getAttributeValue

        public static String getAttributeValue​(StartElement startElement,
                                               HasQName attrName)
        Get the Attribute value
        Parameters:
        startElement -
        tag - localpart of the qname of the attribute
        Returns:
      • getAttributeValue

        public static String getAttributeValue​(StartElement startElement,
                                               QName attrQName)
        Get the Attribute value
        Parameters:
        startElement -
        tag - localpart of the qname of the attribute
        Returns:
      • getUriAttributeValue

        public static URI getUriAttributeValue​(StartElement startElement,
                                               HasQName attrName)
        Get the Attribute value
        Parameters:
        startElement -
        tag - localpart of the qname of the attribute
        Returns:
      • getIntegerAttributeValue

        public static Integer getIntegerAttributeValue​(StartElement startElement,
                                                       HasQName attrName)
        Get the Attribute value
        Parameters:
        startElement -
        tag - localpart of the qname of the attribute
        Returns:
      • getIntegerAttributeValueRP

        public static Integer getIntegerAttributeValueRP​(StartElement startElement,
                                                         HasQName attrName)
        Get the Attribute value, replacing every occurrence of ${..} by corresponding system property value
        Parameters:
        startElement -
        tag - localpart of the qname of the attribute
        Returns:
      • getLongAttributeValue

        public static Long getLongAttributeValue​(StartElement startElement,
                                                 HasQName attrName)
        Get the Attribute value
        Parameters:
        startElement -
        attrName -
      • getLongAttributeValueRP

        public static Long getLongAttributeValueRP​(StartElement startElement,
                                                   HasQName attrName)
        Get the Attribute value
        Parameters:
        startElement -
        attrName -
      • getBooleanAttributeValue

        public static Boolean getBooleanAttributeValue​(StartElement startElement,
                                                       HasQName attrName)
        Get the Attribute value
        Parameters:
        startElement -
        tag - localpart of the qname of the attribute
        Returns:
      • getBooleanAttributeValueRP

        public static Boolean getBooleanAttributeValueRP​(StartElement startElement,
                                                         HasQName attrName)
        Get the Attribute value, replacing every occurrence of ${..} by corresponding system property value
        Parameters:
        startElement -
        tag - localpart of the qname of the attribute
        Returns:
      • getBooleanAttributeValue

        @Deprecated
        public static boolean getBooleanAttributeValue​(StartElement startElement,
                                                       String tag)
        Deprecated.
        Get the Attribute value
        Parameters:
        startElement -
        tag - localpart of the qname of the attribute
        Returns:
        false if attribute not set
      • getBooleanAttributeValue

        @Deprecated
        public static boolean getBooleanAttributeValue​(StartElement startElement,
                                                       String tag,
                                                       boolean defaultValue)
        Deprecated.
        Get the Attribute value
        Parameters:
        startElement -
        tag - localpart of the qname of the attribute
        Returns:
        false if attribute not set
      • getDOMElement

        public static Element getDOMElement​(XMLEventReader xmlEventReader)
                                     throws ParsingException
        Given that the XMLEventReader is in XMLStreamConstants.START_ELEMENT mode, we parse into a DOM Element
        Parameters:
        xmlEventReader -
        Returns:
        Throws:
        ParsingException
      • getElementTextRP

        public static String getElementTextRP​(XMLEventReader xmlEventReader)
                                       throws ParsingException
        Get the element text, replacing every occurrence of ${..} by corresponding system property value
        Parameters:
        xmlEventReader -
        Returns:
        A trimmed string value with all property references replaced if any. If there are no valid references the input string will be returned
        Throws:
        ParsingException
      • getXMLEventReader

        public static XMLEventReader getXMLEventReader​(InputStream is)
        Get the XML event reader
        Parameters:
        is -
        Returns:
      • getXMLEventReader

        public static XMLEventReader getXMLEventReader​(Source source)
        Get the XML event reader
        Parameters:
        source -
        Returns:
      • getLineColumnNumber

        public static String getLineColumnNumber​(Location location)
        Given a Location, return a formatted string [lineNum,colNum]
        Parameters:
        location -
        Returns:
      • getElementName

        public static String getElementName​(StartElement startElement)
        Return the name of the start element
        Parameters:
        startElement -
        Returns:
      • getElementName

        public static String getElementName​(EndElement endElement)
        Return the name of the end element
        Parameters:
        endElement -
        Returns:
      • getXSITypeValue

        public static String getXSITypeValue​(StartElement startElement)
        Given a start element, obtain the xsi:type defined
        Parameters:
        startElement -
        Returns:
        Throws:
        RuntimeException - if xsi:type is missing
      • matches

        public static boolean matches​(StartElement startElement,
                                      String tag)
        Match that the start element with the expected tag
        Parameters:
        startElement -
        tag -
        Returns:
        boolean if the tags match
      • matches

        public static boolean matches​(EndElement endElement,
                                      String tag)
        Match that the end element with the expected tag
        Parameters:
        endElement -
        tag -
        Returns:
        boolean if the tags match
      • trim

        public static final String trim​(String str)
        Given a string, trim it
        Parameters:
        str -
        Returns:
      • validate

        @Deprecated
        public static void validate​(StartElement startElement,
                                    String tag)
        Deprecated.
        Validate that the start element has the expected tag
        Parameters:
        startElement -
        tag -
        Throws:
        RuntimeException - mismatch
      • validate

        public static void validate​(StartElement startElement,
                                    QName tag)
        Validate that the start element has the expected tag
        Parameters:
        startElement -
        tag -
        Throws:
        RuntimeException - mismatch
      • validate

        public static void validate​(EndElement endElement,
                                    String tag)
        Validate that the end element has the expected tag
        Parameters:
        endElement -
        tag -
        Throws:
        RuntimeException - mismatch