Class ConverterHelper

java.lang.Object
org.restlet.engine.Helper
org.restlet.engine.converter.ConverterHelper
Direct Known Subclasses:
DefaultConverter, StatusInfoHtmlConverter

public abstract class ConverterHelper extends Helper
Converter between Representations and regular Java objects.
Author:
Jerome Louvel
  • Constructor Details

    • ConverterHelper

      public ConverterHelper()
  • Method Details

    • addObjectClass

      protected List<Class<?>> addObjectClass(List<Class<?>> objectClasses, Class<?> objectClass)
      Adds an object class to the given list. Creates a new list if necessary.
      Parameters:
      objectClasses - The object classes list to update or null.
      objectClass - The object class to add.
      Returns:
      The input object classes list or a new one.
    • addVariant

      protected List<VariantInfo> addVariant(List<VariantInfo> variants, VariantInfo userVariant)
      Adds a variant to the given list. Creates a new list if necessary.
      Parameters:
      variants - The variants list to update or null.
      userVariant - The variant to add if not null.
      Returns:
      The input variants list or a new one.
    • addVariants

      public List<VariantInfo> addVariants(Class<?> sourceClass, Variant targetVariant, List<VariantInfo> variants) throws IOException
      Returns the list of variants that can be converted from a given object class.
      Parameters:
      sourceClass - The source class.
      targetVariant - The expected representation metadata.
      variants - The variants list to update.
      Returns:
      The list of variants that can be converted from a given object class.
      Throws:
      IOException
    • getObjectClasses

      public abstract List<Class<?>> getObjectClasses(Variant source)
      Returns the list of object classes that can be converted from a given variant.
      Parameters:
      source - The source variant.
      Returns:
      The list of object class that can be converted.
    • getVariants

      public abstract List<VariantInfo> getVariants(Class<?> source) throws IOException
      Returns the list of variants that can be converted from a given object class. The preferred variant should be set in first position.
      Parameters:
      source - The source object class.
      Returns:
      The list of variants that can be converted.
      Throws:
      IOException
    • getVariants

      public List<VariantInfo> getVariants(Class<?> sourceClass, Variant targetVariant) throws IOException
      Returns the list of variants that can be converted from a given object class by a specific converter helper.
      Parameters:
      sourceClass - The source class.
      targetVariant - The expected representation metadata.
      Returns:
      The list of variants that can be converted.
      Throws:
      IOException
    • score

      public abstract float score(Object source, Variant target, Resource resource)
      Scores the affinity of this helper with the source class.
      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 abstract <T> float score(Representation source, Class<T> target, Resource resource)
      Scores the affinity of this helper with the source class.
      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 affinity score of this helper.
    • toObject

      public abstract <T> T toObject(Representation source, Class<T> target, Resource resource) throws IOException
      Converts a Representation into a regular Java object.
      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:
      IOException
    • toRepresentation

      public abstract Representation toRepresentation(Object source, Variant target, Resource resource) throws IOException
      Converts a regular Java object into a Representation.
      Parameters:
      source - The source object to convert.
      target - The expected representation metadata.
      resource - The calling resource.
      Returns:
      The converted representation.
      Throws:
      IOException
    • updatePreferences

      public <T> void updatePreferences(List<Preference<MediaType>> preferences, Class<T> entity)
      Updates the preferences of the given ClientInfo object with conversion capabilities for the given entity class.
      Parameters:
      preferences - The media type preferences.
      entity - The entity class to convert.
    • updatePreferences

      public void updatePreferences(List<Preference<MediaType>> preferences, MediaType mediaType, float score)
      Updates the preferences of the given ClientInfo object with conversion capabilities for the given entity class.
      Parameters:
      preferences - The media type preferences.
      mediaType - The media type to update to add to the preferences.
      score - The media type score to use as a quality score.