- All Known Implementing Classes:
ImmediateHelper
public interface Validator
This method is called when it determined that a type that is
annotated with a Validating annotation is to be injected into
any other class.
- Author:
- jwells
-
Method Summary
Modifier and TypeMethodDescriptionboolean
This method is called whenever it has been determined that a validating class is to be injected into an injection point, or when a descriptor is being looked up explicitly with the API, or a descriptor is being bound or unbound into the registry.
-
Method Details
-
validate
This method is called whenever it has been determined that a validating class is to be injected into an injection point, or when a descriptor is being looked up explicitly with the API, or a descriptor is being bound or unbound into the registry.The candidate descriptor being passed in may not have yet been reified. If possible, this method should do its work without reifying the descriptor. However, if it is necessary to reify the descriptor, it should be done with the ServiceLocator.reifyDescriptor method.
The operation will determine what operation is being performed. In the BIND or UNBIND cases the Injectee will be null. In the LOOKUP case the Injectee will be non-null if this is being done as part of an injection point. In the LOOKUP case the Injectee will be null if this is being looked up directly from the
ServiceLocator
API, in which case the caller of the lookup method will be on the call frame.- Parameters:
info
- Information about the operation being performed- Returns:
- true if this injection should succeed, false if this candidate should not be returned
- Throws:
RuntimeException
- This method should not throw an exception. If it does theErrorService
will be called with theErrorType.VALIDATE_FAILURE
. Even if theErrorService.onFailure(ErrorInformation)
rethrows the exception that exception will not be thrown up the stack, instead the system will always behave as if false had been returned from this method
-