Class JacksonConverter


  • public class JacksonConverter
    extends ConverterHelper
    Converter between the JSON, JSON Smile, CSV, XML, YAML and Representation classes based on Jackson.
    • Field Detail

      • VARIANT_APPLICATION_XML

        private static final VariantInfo VARIANT_APPLICATION_XML
        Variant with media type application/xml.
      • VARIANT_APPLICATION_YAML

        private static final VariantInfo VARIANT_APPLICATION_YAML
        Variant with media type application/yaml.
      • VARIANT_JSON

        private static final VariantInfo VARIANT_JSON
        Variant with media type application/json.
      • VARIANT_JSON_SMILE

        private static final VariantInfo VARIANT_JSON_SMILE
        Variant with media type application/x-json-smile.
      • VARIANT_TEXT_CSV

        private static final VariantInfo VARIANT_TEXT_CSV
        Variant with media type text/csv.
      • VARIANT_TEXT_XML

        private static final VariantInfo VARIANT_TEXT_XML
        Variant with media type text/xml.
      • VARIANT_TEXT_YAML

        private static final VariantInfo VARIANT_TEXT_YAML
        Variant with media type text/yaml.
    • Constructor Detail

      • JacksonConverter

        public JacksonConverter()
    • 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​(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.
      • 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.