Class ConverterManagerImpl

java.lang.Object
org.springframework.ldap.odm.typeconversion.impl.ConverterManagerImpl
All Implemented Interfaces:
ConverterManager

public final class ConverterManagerImpl extends Object implements ConverterManager
An implementation of ConverterManager.

The algorithm used is to:

  1. Try to find and use a Converter registered for the fromClass, syntax and toClass and use it.
  2. If this fails, then if the toClass isAssignableFrom the fromClass then just assign it.
  3. If this fails try to find and use a Converter registered for the fromClass and the toClass ignoring the syntax.
  4. If this fails then throw a ConverterException.
  • Constructor Details

    • ConverterManagerImpl

      public ConverterManagerImpl()
      Create an empty ConverterManagerImpl
  • Method Details

    • canConvert

      public boolean canConvert(Class<?> fromClass, String syntax, Class<?> toClass)
      Description copied from interface: ConverterManager
      Determine whether this converter manager is able to carry out a specified conversion.
      Specified by:
      canConvert in interface ConverterManager
      Parameters:
      fromClass - Convert from the fromClass.
      syntax - Using the LDAP syntax (may be null).
      toClass - To the toClass.
      Returns:
      True if the conversion is supported, false otherwise.
    • convert

      public <T> T convert(Object source, String syntax, Class<T> toClass)
      Description copied from interface: ConverterManager
      Convert a given source object with an optional LDAP syntax to an instance of a given class.
      Specified by:
      convert in interface ConverterManager
      Type Parameters:
      T - The class to convert to.
      Parameters:
      source - The object to convert.
      syntax - The LDAP syntax to use (may be null).
      toClass - The class to convert to.
      Returns:
      The converted object.
    • addConverter

      public void addConverter(Class<?> fromClass, String syntax, Class<?> toClass, Converter converter)
      Add a Converter to this ConverterManager.
      Parameters:
      fromClass - The class the Converter should be used to convert from.
      syntax - The LDAP syntax that the Converter should be used for.
      toClass - The class the Converter should be used to convert to.
      converter - The Converter to add.