Package io.micronaut.function
Class DefaultLocalFunctionRegistry
java.lang.Object
io.micronaut.function.DefaultLocalFunctionRegistry
- All Implemented Interfaces:
AnnotationProcessor<FunctionBean,
,ExecutableMethod<?, ?>> ExecutableMethodProcessor<FunctionBean>
,LocalFunctionRegistry
,MediaTypeCodecRegistry
@Singleton
public class DefaultLocalFunctionRegistry
extends Object
implements ExecutableMethodProcessor<FunctionBean>, LocalFunctionRegistry, MediaTypeCodecRegistry
Default implementation of the LocalFunctionRegistry
interface
- Since:
- 1.0
- Author:
- Graeme Rocher
-
Field Summary
Fields inherited from interface io.micronaut.function.LocalFunctionRegistry
FUNCTION_CHARSET, FUNCTION_NAME, FUNCTION_PREFIX
-
Constructor Summary
ConstructorDescriptionDefaultLocalFunctionRegistry
(MediaTypeCodec... decoders) Constructor.DefaultLocalFunctionRegistry
(MediaTypeCodecRegistry codecRegistry) Constructor.DefaultLocalFunctionRegistry
(List<MediaTypeCodec> decoders) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionOptional<? extends ExecutableMethod<?,
?>> Find the first available registered function.<T,
U, R> Optional<ExecutableMethod<BiFunction<T, U, R>, R>> findBiFunction
(String name) Find aBiFunction
for the given name.Find a codec for the given media type.Find a codec for the given media type and target type.<T> Optional<ExecutableMethod<Consumer<T>,
Void>> findConsumer
(String name) Find aConsumer
for the given name.Optional<? extends ExecutableMethod<?,
?>> Find the first available registered function.<T,
R> Optional<ExecutableMethod<Function<T, R>, R>> findFunction
(String name) Find aFunction
for the given name.<T> Optional<ExecutableMethod<Supplier<T>,
T>> findSupplier
(String name) Find aSupplier
for the given name.A map of available functions with the key being the function name and the value being the function URI.void
process
(BeanDefinition<?> beanDefinition, ExecutableMethod<?, ?> method) The process method will be called for everyExecutableMethod
that is annotated with the type parameter A.
-
Constructor Details
-
DefaultLocalFunctionRegistry
Constructor.- Parameters:
decoders
- decoders
-
DefaultLocalFunctionRegistry
Constructor.- Parameters:
decoders
- decoders
-
DefaultLocalFunctionRegistry
Constructor.- Parameters:
codecRegistry
- codecRegistry
-
-
Method Details
-
findFirst
Description copied from interface:LocalFunctionRegistry
Find the first available registered function.- Specified by:
findFirst
in interfaceLocalFunctionRegistry
- Returns:
- The
ExecutableMethod
method representing the function
-
find
Description copied from interface:LocalFunctionRegistry
Find the first available registered function.- Specified by:
find
in interfaceLocalFunctionRegistry
- Parameters:
name
- the name- Returns:
- The
ExecutableMethod
method representing the function
-
getAvailableFunctions
Description copied from interface:LocalFunctionRegistry
A map of available functions with the key being the function name and the value being the function URI.- Specified by:
getAvailableFunctions
in interfaceLocalFunctionRegistry
- Returns:
- A map of functions
-
findSupplier
Description copied from interface:LocalFunctionRegistry
Find aSupplier
for the given name.- Specified by:
findSupplier
in interfaceLocalFunctionRegistry
- Type Parameters:
T
- The type- Parameters:
name
- The name- Returns:
- An
Optional
of aSupplier
-
findConsumer
Description copied from interface:LocalFunctionRegistry
Find aConsumer
for the given name.- Specified by:
findConsumer
in interfaceLocalFunctionRegistry
- Type Parameters:
T
- The type- Parameters:
name
- The name- Returns:
- An
Optional
of aConsumer
-
findFunction
Description copied from interface:LocalFunctionRegistry
Find aFunction
for the given name.- Specified by:
findFunction
in interfaceLocalFunctionRegistry
- Type Parameters:
T
- The typeR
- The result of the method call- Parameters:
name
- The name- Returns:
- An
Optional
of aFunction
-
findBiFunction
Description copied from interface:LocalFunctionRegistry
Find aBiFunction
for the given name.- Specified by:
findBiFunction
in interfaceLocalFunctionRegistry
- Type Parameters:
T
- The typeU
- the type of the second argument to the functionR
- The result of the method call- Parameters:
name
- The name- Returns:
- An
Optional
of aBiFunction
-
process
Description copied from interface:ExecutableMethodProcessor
The process method will be called for everyExecutableMethod
that is annotated with the type parameter A.- Specified by:
process
in interfaceAnnotationProcessor<FunctionBean,
ExecutableMethod<?, ?>> - Specified by:
process
in interfaceExecutableMethodProcessor<FunctionBean>
- Parameters:
beanDefinition
- The bean definition to processmethod
- The executable method
-
findCodec
Description copied from interface:MediaTypeCodecRegistry
Find a codec for the given media type.- Specified by:
findCodec
in interfaceMediaTypeCodecRegistry
- Parameters:
mediaType
- TheMediaType
- Returns:
- The codec
-
findCodec
Description copied from interface:MediaTypeCodecRegistry
Find a codec for the given media type and target type.- Specified by:
findCodec
in interfaceMediaTypeCodecRegistry
- Parameters:
mediaType
- TheMediaType
type
- The type- Returns:
- The codec
-
getCodecs
- Specified by:
getCodecs
in interfaceMediaTypeCodecRegistry
- Returns:
- The available codecs
-