Class TypeConverterRegistry

java.lang.Object
org.apache.logging.log4j.core.config.plugins.convert.TypeConverterRegistry

public class TypeConverterRegistry extends Object
Registry for TypeConverter plugins.
Since:
2.1
  • Field Details

  • Constructor Details

    • TypeConverterRegistry

      private TypeConverterRegistry()
  • Method Details

    • getInstance

      public static TypeConverterRegistry getInstance()
      Gets the singleton instance of the TypeConverterRegistry.
      Returns:
      the singleton instance.
    • findCompatibleConverter

      public TypeConverter<?> findCompatibleConverter(Type type)
      Finds a TypeConverter for the given Type, falling back to an assignment-compatible TypeConverter if none exist for the given type. That is, if the given Type does not have a TypeConverter, but another Type which can be assigned to the given Type does have a TypeConverter, then that TypeConverter will be used and registered.
      Parameters:
      type - the Type to find a TypeConverter for (must not be null).
      Returns:
      a TypeConverter for the given Type.
      Throws:
      UnknownFormatConversionException - if no TypeConverter can be found for the given type.
    • loadKnownTypeConverters

      private void loadKnownTypeConverters(Collection<PluginType<?>> knownTypes)
    • registerConverter

      private TypeConverter<?> registerConverter(Type conversionType, TypeConverter<?> converter)
      Attempts to register the given converter and returns the effective converter associated with the given type.

      Registration will fail if there already exists a converter for the given type and neither the existing, nor the provided converter extends from Comparable.

    • getTypeConverterSupportedType

      private static Type getTypeConverterSupportedType(Class<? extends TypeConverter> typeConverterClass)
    • registerPrimitiveTypes

      private void registerPrimitiveTypes()
    • registerTypeAlias

      private void registerTypeAlias(Type knownType, Type aliasType)