Interface ValidationService
- All Known Implementing Classes:
ConfigurationValidationService
,ImmediateHelper
An implementation of ValidationService must be in the Singleton scope.
Implementations of ValidationService will be instantiated as soon as
they are added to HK2 in order to avoid deadlocks and circular references.
Therefore it is recommended that implementations of ValidationService
make liberal use of Provider
or IterableProvider
when injecting dependent services so that these services are not instantiated
when the ValidationService is created
-
Method Summary
Modifier and TypeMethodDescriptionThis filter will be run at least once per descriptor at the point that the descriptor is being looked up, either with theServiceLocator
API or due to an @Inject resolution.Returns theValidator
that will be run whenever aDescriptor
that passed the filter is to be looked up with the API or injected into an injection point, or on any bind or unbind operation.
-
Method Details
-
getLookupFilter
Filter getLookupFilter()This filter will be run at least once per descriptor at the point that the descriptor is being looked up, either with theServiceLocator
API or due to an @Inject resolution. The decision made by this filter will be cached and used every time that Descriptor is subsequently looked up. No validation checks should be done in the returned filter, it is purely meant to limit theDescriptor
s that are passed into the validator.Descriptors passed to this filter may or may not be reified. The filter should try as much as possible to do its work without reifying the descriptor.
The filter may be run more than once on a descriptor if some condition caused the cache of results per descriptor to become invalidated.
- Returns:
- The filter to be used to determine if the validators associated with this
service should be called when the passed in
Descriptor
is looked up
-
getValidator
Validator getValidator()Returns theValidator
that will be run whenever aDescriptor
that passed the filter is to be looked up with the API or injected into an injection point, or on any bind or unbind operation. If this method returns false then the operation will not proceed.- Returns:
- A non-null validator
-