Interface Validator

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 Type
    Method
    Description
    boolean
    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

      boolean validate(ValidationInformation info)
      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 the ErrorService will be called with the ErrorType.VALIDATE_FAILURE. Even if the ErrorService.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