Class JaxbConverter


  • public class JaxbConverter
    extends ConverterHelper
    A JAXB Converter Helper to convert from JAXB objects to JaxbRepresentations and vice versa.
    • Field Detail

      • VARIANT_APPLICATION_ALL_XML

        private static final VariantInfo VARIANT_APPLICATION_ALL_XML
      • VARIANT_APPLICATION_XML

        private static final VariantInfo VARIANT_APPLICATION_XML
      • VARIANT_TEXT_XML

        private static final VariantInfo VARIANT_TEXT_XML
    • Constructor Detail

      • JaxbConverter

        public JaxbConverter()
    • Method Detail

      • getObjectClasses

        public java.util.List<java.lang.Class<?>> getObjectClasses​(Variant source)
        Description copied from class: ConverterHelper
        Returns the list of object classes that can be converted from a given variant.
        Specified by:
        getObjectClasses in class ConverterHelper
        Parameters:
        source - The source variant.
        Returns:
        The list of object class that can be converted.
      • getVariants

        public java.util.List<VariantInfo> getVariants​(java.lang.Class<?> source)
        Description copied from class: ConverterHelper
        Returns the list of variants that can be converted from a given object class. The preferred variant should be set in first position.
        Specified by:
        getVariants in class ConverterHelper
        Parameters:
        source - The source object class.
        Returns:
        The list of variants that can be converted.
      • isCompatible

        protected boolean isCompatible​(MediaType mediaType)
        Indicates if the given mediaType is compatible with the media types supported by this converter.
        Parameters:
        mediaType - The mediaType.
        Returns:
        True if the given mediaType is compatible with the media types supported by this converter.
      • isCompatible

        protected boolean isCompatible​(Variant variant)
        Indicates if the given variant is compatible with the media types supported by this converter.
        Parameters:
        variant - The variant.
        Returns:
        True if the given variant is compatible with the media types supported by this converter.
      • isJaxbRootElementClass

        private boolean isJaxbRootElementClass​(java.lang.Class<?> source)
        Indicates if the class has JAXB annotations.
        Parameters:
        source - The class to test.
        Returns:
        True if the class has JAXB annotations.
      • score

        public float score​(java.lang.Object source,
                           Variant target,
                           Resource resource)
        Description copied from class: ConverterHelper
        Scores the affinity of this helper with the source class.
        Specified by:
        score in class ConverterHelper
        Parameters:
        source - The source object to convert.
        target - The expected representation metadata.
        resource - The calling resource.
        Returns:
        The affinity score of this helper.
      • score

        public <T> float score​(Representation source,
                               java.lang.Class<T> target,
                               Resource resource)
        Description copied from class: ConverterHelper
        Scores the affinity of this helper with the source class.
        Specified by:
        score in class ConverterHelper
        Parameters:
        source - The source representation to convert.
        target - The expected class of the Java object.
        resource - The calling resource.
        Returns:
        The affinity score of this helper.
      • toObject

        public <T> T toObject​(Representation source,
                              java.lang.Class<T> target,
                              Resource resource)
                       throws java.io.IOException
        Description copied from class: ConverterHelper
        Converts a Representation into a regular Java object.
        Specified by:
        toObject in class ConverterHelper
        Type Parameters:
        T - The expected class of the Java object.
        Parameters:
        source - The source representation to convert.
        target - The expected class of the Java object.
        resource - The calling resource.
        Returns:
        The converted Java object.
        Throws:
        java.io.IOException
      • toRepresentation

        public Representation toRepresentation​(java.lang.Object source,
                                               Variant target,
                                               Resource resource)
        Description copied from class: ConverterHelper
        Converts a regular Java object into a Representation.
        Specified by:
        toRepresentation in class ConverterHelper
        Parameters:
        source - The source object to convert.
        target - The expected representation metadata.
        resource - The calling resource.
        Returns:
        The converted representation.
      • updatePreferences

        public <T> void updatePreferences​(java.util.List<Preference<MediaType>> preferences,
                                          java.lang.Class<T> entity)
        Description copied from class: ConverterHelper
        Updates the preferences of the given ClientInfo object with conversion capabilities for the given entity class.
        Overrides:
        updatePreferences in class ConverterHelper
        Parameters:
        preferences - The media type preferences.
        entity - The entity class to convert.