@Singleton public class DefaultLocalFunctionRegistry extends Object implements ExecutableMethodProcessor<FunctionBean>, LocalFunctionRegistry, MediaTypeCodecRegistry
Default implementation of the LocalFunctionRegistry interface
FUNCTION_CHARSET, FUNCTION_NAME, FUNCTION_PREFIX| Constructor and Description |
|---|
DefaultLocalFunctionRegistry(List<MediaTypeCodec> decoders)
Constructor.
|
DefaultLocalFunctionRegistry(MediaTypeCodec... decoders)
Constructor.
|
DefaultLocalFunctionRegistry(MediaTypeCodecRegistry codecRegistry)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Optional<? extends ExecutableMethod<?,?>> |
find(String name)
Find the first available registered function.
|
<T,U,R> Optional<ExecutableMethod<BiFunction<T,U,R>,R>> |
findBiFunction(String name)
Find a
BiFunction for the given name. |
Optional<MediaTypeCodec> |
findCodec(MediaType mediaType)
Find a codec for the given media type.
|
Optional<MediaTypeCodec> |
findCodec(MediaType mediaType,
Class<?> type)
Find a codec for the given media type and target type.
|
<T> Optional<ExecutableMethod<Consumer<T>,Void>> |
findConsumer(String name)
Find a
Consumer for the given name. |
Optional<? extends ExecutableMethod<?,?>> |
findFirst()
Find the first available registered function.
|
<T,R> Optional<ExecutableMethod<Function<T,R>,R>> |
findFunction(String name)
Find a
Function for the given name. |
<T> Optional<ExecutableMethod<Supplier<T>,T>> |
findSupplier(String name)
Find a
Supplier for the given name. |
Map<String,URI> |
getAvailableFunctions()
A map of available functions with the key being the function name and the value being the function URI.
|
Collection<MediaTypeCodec> |
getCodecs() |
void |
process(BeanDefinition<?> beanDefinition,
ExecutableMethod<?,?> method)
The process method will be called for every
ExecutableMethod that is annotated with the type parameter A. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitof, ofpublic DefaultLocalFunctionRegistry(MediaTypeCodec... decoders)
decoders - decoders@Inject public DefaultLocalFunctionRegistry(List<MediaTypeCodec> decoders)
decoders - decoderspublic DefaultLocalFunctionRegistry(MediaTypeCodecRegistry codecRegistry)
codecRegistry - codecRegistrypublic Optional<? extends ExecutableMethod<?,?>> findFirst()
LocalFunctionRegistryfindFirst in interface LocalFunctionRegistryExecutableMethod method representing the functionpublic Optional<? extends ExecutableMethod<?,?>> find(String name)
LocalFunctionRegistryfind in interface LocalFunctionRegistryname - the nameExecutableMethod method representing the functionpublic Map<String,URI> getAvailableFunctions()
LocalFunctionRegistrygetAvailableFunctions in interface LocalFunctionRegistrypublic <T> Optional<ExecutableMethod<Supplier<T>,T>> findSupplier(String name)
LocalFunctionRegistrySupplier for the given name.findSupplier in interface LocalFunctionRegistryT - The typename - The nameOptional of a Supplierpublic <T> Optional<ExecutableMethod<Consumer<T>,Void>> findConsumer(String name)
LocalFunctionRegistryConsumer for the given name.findConsumer in interface LocalFunctionRegistryT - The typename - The nameOptional of a Consumerpublic <T,R> Optional<ExecutableMethod<Function<T,R>,R>> findFunction(String name)
LocalFunctionRegistryFunction for the given name.findFunction in interface LocalFunctionRegistryT - The typeR - The result of the method callname - The nameOptional of a Functionpublic <T,U,R> Optional<ExecutableMethod<BiFunction<T,U,R>,R>> findBiFunction(String name)
LocalFunctionRegistryBiFunction for the given name.findBiFunction in interface LocalFunctionRegistryT - The typeU - the type of the second argument to the functionR - The result of the method callname - The nameOptional of a BiFunctionpublic void process(BeanDefinition<?> beanDefinition, ExecutableMethod<?,?> method)
ExecutableMethodProcessorExecutableMethod that is annotated with the type parameter A.process in interface AnnotationProcessor<FunctionBean,ExecutableMethod<?,?>>process in interface ExecutableMethodProcessor<FunctionBean>beanDefinition - The bean definition to processmethod - The executable methodpublic Optional<MediaTypeCodec> findCodec(@Nullable MediaType mediaType)
MediaTypeCodecRegistryfindCodec in interface MediaTypeCodecRegistrymediaType - The MediaTypepublic Optional<MediaTypeCodec> findCodec(@Nullable MediaType mediaType, Class<?> type)
MediaTypeCodecRegistryfindCodec in interface MediaTypeCodecRegistrymediaType - The MediaTypetype - The typepublic Collection<MediaTypeCodec> getCodecs()
getCodecs in interface MediaTypeCodecRegistry