Interface PolicyAssertionValidator

All Known Implementing Classes:
AbstractQNameValidator, AddressingPolicyValidator, EncodingPolicyValidator, ManagementPolicyValidator

public interface PolicyAssertionValidator
Author:
Marek Potociar
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Each service provider that implements this SPI must make sure to identify all possible domains it supports.
    An implementation of this method must return: Fitness.UNKNOWN if the policy assertion type is not recognized Fitness.SUPPORTED if the policy assertion is supported in the client-side context Fitness.UNSUPPORTED if the policy assertion is recognized however it's content is not supported.
    An implementation of this method must return: Fitness.UNKNOWN if the policy assertion type is not recognized Fitness.SUPPORTED if the policy assertion is supported in the server-side context Fitness.UNSUPPORTED if the policy assertion is recognized however it's content is not supported.
  • Method Details

    • validateClientSide

      PolicyAssertionValidator.Fitness validateClientSide(PolicyAssertion assertion)
      An implementation of this method must return:
      • Fitness.UNKNOWN if the policy assertion type is not recognized
      • Fitness.SUPPORTED if the policy assertion is supported in the client-side context
      • Fitness.UNSUPPORTED if the policy assertion is recognized however it's content is not supported. For each assetion that will be eventually marked with this validation value, the policy processor will log a WARNING message however an attempt to call the web service will be made.
      • Fitness.INVALID if the policy assertion is recognized however its content (value, parameters, nested assertions) is invalid. For each assetion that will be eventually marked with this validation value, the policy processor will log a SEVERE error and throw an exception. No further attempts to call the web service will be made.
      Parameters:
      assertion - A policy asssertion (See PolicyAssertion). May contain nested policies and assertions.
      Returns:
      fitness of the assertion on in the client-side context. Must not be null.
    • validateServerSide

      PolicyAssertionValidator.Fitness validateServerSide(PolicyAssertion assertion)
      An implementation of this method must return:
      • Fitness.UNKNOWN if the policy assertion type is not recognized
      • Fitness.SUPPORTED if the policy assertion is supported in the server-side context
      • Fitness.UNSUPPORTED if the policy assertion is recognized however it's content is not supported.
      • Fitness.INVALID if the policy assertion is recognized however its content (value, parameters, nested assertions) is invalid.
      For each assetion that will be eventually marked with validation value of UNKNOWN, UNSUPPORTED or INVALID, the policy processor will log a SEVERE error and throw an exception.
      Parameters:
      assertion - A policy asssertion (See PolicyAssertion). May contain nested policies and assertions.
      Returns:
      fitness of the assertion on in the server-side context. Must not be null.
    • declareSupportedDomains

      String[] declareSupportedDomains()
      Each service provider that implements this SPI must make sure to identify all possible domains it supports. This operation must be implemented as idempotent (must return same values on multiple calls).
      It is legal for two or more PolicyAssertionValidators to support the same domain. In such case, the most significant result returned from validation methods will be eventually assigned to the assertion. The significance of validation results is as follows (from most to least significant):
      1. SUPPORTED
      2. UNSUPPORTED
      3. INVALID
      4. UNKNOWN
      Returns:
      String array holding String representations of identifiers of all supported domains. Usually a domain identifier is represented by a namespace.