Class AbstractStaxBuilder

java.lang.Object
org.hibernate.validator.internal.xml.AbstractStaxBuilder

public abstract class AbstractStaxBuilder extends Object
Other Stax xml builders should extend from this one. Provides some common functionality like reading an attribute value or value of a simple tag.
Author:
Marko Bekhta
  • Constructor Details

    • AbstractStaxBuilder

      public AbstractStaxBuilder()
  • Method Details

    • getAcceptableQName

      protected abstract String getAcceptableQName()
    • accept

      protected boolean accept(XMLEvent xmlEvent)
      Checks if the given XMLEvent is a StartElement and if the corresponding xml tag can be processed based on a tag name.
      Parameters:
      xmlEvent - an event to check
      Returns:
      true if corresponding event can be processed by current builder, false otherwise
    • process

      public boolean process(XMLEventReader xmlEventReader, XMLEvent xmlEvent)
    • add

      protected abstract void add(XMLEventReader xmlEventReader, XMLEvent xmlEvent) throws XMLStreamException
      Throws:
      XMLStreamException
    • readSingleElement

      protected String readSingleElement(XMLEventReader xmlEventReader) throws XMLStreamException
      Reads a value between a simple tag element. In case of a <someTag>some-value</someTag> will return some-value as a string.
      Parameters:
      xmlEventReader - a current XMLEventReader
      Returns:
      a value of a current xml tag as a string
      Throws:
      XMLStreamException
    • readAttribute

      protected Optional<String> readAttribute(StartElement startElement, QName qName)
      Reads a value of an attribute of a given element.
      Parameters:
      startElement - an element to get an attribute from
      qName - a QName of an attribute to read
      Returns:
      a value of an attribute if it is present, Optional.empty() otherwise