Package io.micronaut.core.bind
Interface ExecutableBinder<S>
-
- Type Parameters:
S
- The source type
- All Known Implementing Classes:
DefaultExecutableBinder
public interface ExecutableBinder<S>
An ExecutableBinder is capable of taking a target
Executable
and fulfilling the argument requirements using the provided binding source andArgumentBinderRegistry
The returned
BoundExecutable
will have all of the required arguments bound and can then be called simply by calling invoke.If an argument could not be bound then an exception will be
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T,R>
BoundExecutable<T,R>bind(Executable<T,R> target, ArgumentBinderRegistry<S> registry, S source)
Binds a givenExecutable
using the given registry and source object.<T,R>
BoundExecutable<T,R>tryBind(Executable<T,R> target, ArgumentBinderRegistry<S> registry, S source)
Binds a givenExecutable
using the given registry and source object.
-
-
-
Method Detail
-
bind
<T,R> BoundExecutable<T,R> bind(Executable<T,R> target, ArgumentBinderRegistry<S> registry, S source) throws UnsatisfiedArgumentException
Binds a givenExecutable
using the given registry and source object.- Type Parameters:
T
- The executable target typeR
- The executable return type- Parameters:
target
- The target executableregistry
- The registry to usesource
- The binding source- Returns:
- The bound executable
- Throws:
UnsatisfiedArgumentException
- When the executable could not be satisfied
-
tryBind
<T,R> BoundExecutable<T,R> tryBind(Executable<T,R> target, ArgumentBinderRegistry<S> registry, S source)
Binds a givenExecutable
using the given registry and source object. Unlikebind(Executable, ArgumentBinderRegistry, Object)
this method will not throw anUnsatisfiedArgumentException
if an argument cannot be bound. Instead theBoundExecutable.getUnboundArguments()
property will be populated with any arguments that could not be bound- Type Parameters:
T
- The executable target typeR
- The executable return type- Parameters:
target
- The target executableregistry
- The registry to usesource
- The binding source- Returns:
- The bound executable
-
-