Interface ITypeConverterRegistry

  • All Known Implementing Classes:
    TypeConverterRegistry

    public interface ITypeConverterRegistry
    Callback interface for registering new type converters.
    Author:
    Philip Helger
    • Method Detail

      • registerTypeConverter

        <SRC,​DST> void registerTypeConverter​(@Nonnull
                                                   Class<SRC> aSrcClass,
                                                   @Nonnull
                                                   Class<DST> aDstClass,
                                                   @Nonnull
                                                   ITypeConverter<SRC,​DST> aConverter)
        Register a type converter.
        Type Parameters:
        SRC - Source type
        DST - Destination type
        Parameters:
        aSrcClass - A non-null source class to convert from. Must be an instancable class.
        aDstClass - A non-null destination class to convert to. Must be an instancable class. May not equal the source class.
        aConverter - The convert to use. May not be null.
      • registerTypeConverter

        <DST> void registerTypeConverter​(@Nonnull
                                         Class<?>[] aSrcClasses,
                                         @Nonnull
                                         Class<DST> aDstClass,
                                         @Nonnull
                                         ITypeConverter<?,​DST> aConverter)
        Register a type converter.
        Type Parameters:
        DST - Destination type
        Parameters:
        aSrcClasses - A non-null collection of source classes to convert from. Must be an instancable class.
        aDstClass - A non-null destination class to convert to. Must be an instancable class. May not equal the source class.
        aConverter - The convert to use. May not be null.
      • registerTypeConverterRule

        void registerTypeConverterRule​(@Nonnull
                                       ITypeConverterRule<?,​?> aTypeConverterRule)
        Register a flexible type converter rule.
        Parameters:
        aTypeConverterRule - The type converter rule to be registered. May not be null.
      • registerTypeConverterRuleAnySourceFixedDestination

        default <DST> void registerTypeConverterRuleAnySourceFixedDestination​(@Nonnull
                                                                              Class<DST> aDstClass,
                                                                              @Nonnull
                                                                              Function<? super Object,​? extends DST> aConverter)
      • registerTypeConverterRuleAssignableSourceFixedDestination

        default <SRC,​DST> void registerTypeConverterRuleAssignableSourceFixedDestination​(@Nonnull
                                                                                               Class<SRC> aSrcClass,
                                                                                               @Nonnull
                                                                                               Class<DST> aDstClass,
                                                                                               @Nonnull
                                                                                               Function<? super SRC,​? extends DST> aConverter)
      • registerTypeConverterRuleFixedSourceAnyDestination

        default <SRC> void registerTypeConverterRuleFixedSourceAnyDestination​(@Nonnull
                                                                              Class<SRC> aSrcClass,
                                                                              @Nonnull
                                                                              Function<? super SRC,​? extends Object> aInBetweenConverter)
      • registerTypeConverterRuleFixedSourceAssignableDestination

        default <SRC,​DST> void registerTypeConverterRuleFixedSourceAssignableDestination​(@Nonnull
                                                                                               Class<SRC> aSrcClass,
                                                                                               @Nonnull
                                                                                               Class<DST> aDstClass,
                                                                                               @Nonnull
                                                                                               Function<? super SRC,​? extends DST> aConverter)