Class JaxbUtilImpl

java.lang.Object
org.somda.sdc.common.util.JaxbUtilImpl
All Implemented Interfaces:
JaxbUtil

public class JaxbUtilImpl extends Object implements JaxbUtil
Default implementation of JaxbUtil.
  • Constructor Details

    • JaxbUtilImpl

      public JaxbUtilImpl()
  • Method Details

    • extractElement

      public <T> Optional<T> extractElement(Object element, QName elementType, Class<T> typeClass)
      Description copied from interface: JaxbUtil
      Same as JaxbUtil.extractElement(Object, QName) but with QName JAXB type class in addition.
      Specified by:
      extractElement in interface JaxbUtil
      Type Parameters:
      T - the generic type to cast to.
      Parameters:
      element - the element to inspect.
      elementType - the QName type specification.
      typeClass - Java JAXB class that matches elementType.
      Returns:
      JAXBElement.getValue() or Optional.empty() on error.
    • extractElement

      public <T> Optional<T> extractElement(Object element, Class<T> typeClass)
      Description copied from interface: JaxbUtil
      Tries to cast the element to given type object and returns it as an Optional.
      Specified by:
      extractElement in interface JaxbUtil
      Type Parameters:
      T - the casted generic type.
      Parameters:
      element - the element to inspect.
      typeClass - the QName type specification.
      Returns:
      JAXBElement.getValue() or Optional.empty() on error.
    • extractElement

      public <T> Optional<T> extractElement(Object element, QName elementType)
      Description copied from interface: JaxbUtil
      Tries to cast the element to a JAXBElement object with given QName type and returns it as an Optional.
      Specified by:
      extractElement in interface JaxbUtil
      Type Parameters:
      T - the generic type to cast to.
      Parameters:
      element - the element to inspect.
      elementType - the QName type specification.
      Returns:
      JAXBElement.getValue() or Optional.empty() on error.
    • extractFirstElementFromAny

      public <T> Optional<T> extractFirstElementFromAny(List<Object> anyList, QName elementType, Class<T> typeClass)
      Description copied from interface: JaxbUtil
      From a list of JAXBElement objects, this function retrieves the first element in the list

      Additionally, it tries to cast it to the QName type given by elementType.

      Specified by:
      extractFirstElementFromAny in interface JaxbUtil
      Type Parameters:
      T - the generic type to cast to.
      Parameters:
      anyList - a list of JAXBElement objects.
      elementType - the QName type specification.
      typeClass - Java JAXB class that matches elementType.
      Returns:
      Optional of the first element's JAXBElement.getValue() or Optional.empty() if the list is empty or an error occurred.
    • extractFirstElementFromAny

      public <T> Optional<T> extractFirstElementFromAny(List<Object> anyList, Class<T> typeClass)
      Description copied from interface: JaxbUtil
      Same as JaxbUtil.extractFirstElementFromAny(List, QName, Class), but without comparing QName in advance.
      Specified by:
      extractFirstElementFromAny in interface JaxbUtil
      Type Parameters:
      T - the generic type to cast to.
      Parameters:
      anyList - a list of JAXBElement objects.
      typeClass - Java JAXB class that matches elementType.
      Returns:
      Optional of the first element's JAXBElement.getValue() or Optional.empty() if the list is empty or an error occurred.