org.glassfish.hk2.api
Interface Validator


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
 boolean validate(Operation operation, ActiveDescriptor<?> candidate, Injectee injectee)
          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 Detail

validate

boolean validate(Operation operation,
                 ActiveDescriptor<?> candidate,
                 Injectee injectee)
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:
operation - BIND if this is a BIND operation, UNBIND if this descriptor is being unbound from the system and LOOKUP if this is a lookup operation
candidate - The candidate descriptor that will be responsible for creating the object to be put into the injection point (or returned to the API). This descriptor may not have been reified
injectee - The injection point to validate. If this is null then this lookup is being done directly from the API, in which case the caller of the API will be on the call stack
Returns:
true if this injection should succeed, false if this candidate should not be returned
Throws:
RuntimeException - Any exception from this method will also cause the candidate to not be available. However, the preferred method of indicating an validation failure is to return null


Copyright © 2012 Oracle Corporation. All Rights Reserved.