Class ParamTypeRegistry<S extends Source>

java.lang.Object
studio.mevera.imperat.util.Registry<Type,Supplier<ParameterType>>
studio.mevera.imperat.context.ParamTypeRegistry<S>

@Internal public final class ParamTypeRegistry<S extends Source> extends Registry<Type,Supplier<ParameterType>>
  • Method Details

    • createDefault

      public static <S extends Source> ParamTypeRegistry<S> createDefault()
    • registerResolver

      public void registerResolver(Type type, Supplier<ParameterType> resolver)
    • registerCollectionInitializer

      public <C extends Collection<?>> void registerCollectionInitializer(Class<C> type, Supplier<C> initializerFunction)
    • registerArrayInitializer

      public <ArrayComponent> void registerArrayInitializer(Class<ArrayComponent> type, Function<Integer,Object[]> initializerFunction)
    • registerMapInitializer

      public <M extends Map<?, ?>> void registerMapInitializer(Class<M> type, Supplier<M> initializerFunction)
    • getResolver

      public <T> Optional<ParameterType<S,T>> getResolver(Type type)