Package com.sun.xml.ws.policy.spi
Class AbstractQNameValidator
- java.lang.Object
-
- com.sun.xml.ws.policy.spi.AbstractQNameValidator
-
- All Implemented Interfaces:
PolicyAssertionValidator
- Direct Known Subclasses:
JCapsPolicyValidator
public abstract class AbstractQNameValidator extends Object implements PolicyAssertionValidator
This abstract policy assertion validator validates assertions by their qualified name. Server and client side validation methods returnPolicyAssertionValidator.Fitnessbased on following schema:PolicyAssertionValidator.Fitness.SUPPORTED- if the assertion qualified name is in the list of supported assertion names on the server/client sidePolicyAssertionValidator.Fitness.UNSUPPORTED- if the assertion qualified name is not in the list of supported assertion names on the server/client side, however it is in the list of assertion names supported on the other sidePolicyAssertionValidator.Fitness.UNKNOWN- if the assertion qualified name is not present in the any of the lists of supported assertion names
validateClientSide(PolicyAssertion)andvalidateServerSide(PolicyAssertion)methods.- Author:
- Marek Potociar (marek.potociar at sun.com)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.sun.xml.ws.policy.spi.PolicyAssertionValidator
PolicyAssertionValidator.Fitness
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractQNameValidator(Collection<QName> serverSideAssertions, Collection<QName> clientSideAssertions)Constructor that takes two collections specifying qualified names of assertions supported on either server or client side.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String[]declareSupportedDomains()Each service provider that implements this SPI must make sure to identify all possible domains it supports.PolicyAssertionValidator.FitnessvalidateClientSide(PolicyAssertion assertion)An implementation of this method must return:Fitness.UNKNOWNif the policy assertion type is not recognizedFitness.SUPPORTEDif the policy assertion is supported in the client-side contextFitness.UNSUPPORTEDif the policy assertion is recognized however it's content is not supported.PolicyAssertionValidator.FitnessvalidateServerSide(PolicyAssertion assertion)An implementation of this method must return:Fitness.UNKNOWNif the policy assertion type is not recognizedFitness.SUPPORTEDif the policy assertion is supported in the server-side contextFitness.UNSUPPORTEDif the policy assertion is recognized however it's content is not supported.
-
-
-
Constructor Detail
-
AbstractQNameValidator
protected AbstractQNameValidator(Collection<QName> serverSideAssertions, Collection<QName> clientSideAssertions)
Constructor that takes two collections specifying qualified names of assertions supported on either server or client side. The set of all assertion namespaces defines list of all domains supported by the assertion validator (seePolicyAssertionValidator.declareSupportedDomains()).- Parameters:
serverSideAssertions- The server-side assertions.clientSideAssertions- The client-side assertions.
-
-
Method Detail
-
declareSupportedDomains
public String[] declareSupportedDomains()
Description copied from interface:PolicyAssertionValidatorEach 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 morePolicyAssertionValidators 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):- SUPPORTED
- UNSUPPORTED
- INVALID
- UNKNOWN
- Specified by:
declareSupportedDomainsin interfacePolicyAssertionValidator- Returns:
Stringarray holdingStringrepresentations of identifiers of all supported domains. Usually a domain identifier is represented by a namespace.
-
validateClientSide
public PolicyAssertionValidator.Fitness validateClientSide(PolicyAssertion assertion)
Description copied from interface:PolicyAssertionValidatorAn implementation of this method must return:-
Fitness.UNKNOWNif the policy assertion type is not recognized -
Fitness.SUPPORTEDif the policy assertion is supported in the client-side context -
Fitness.UNSUPPORTEDif 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.INVALIDif 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.
- Specified by:
validateClientSidein interfacePolicyAssertionValidator- Parameters:
assertion- A policy asssertion (SeePolicyAssertion). May contain nested policies and assertions.- Returns:
- fitness of the
assertionon in the client-side context. Must not benull.
-
-
validateServerSide
public PolicyAssertionValidator.Fitness validateServerSide(PolicyAssertion assertion)
Description copied from interface:PolicyAssertionValidatorAn implementation of this method must return:-
Fitness.UNKNOWNif the policy assertion type is not recognized -
Fitness.SUPPORTEDif the policy assertion is supported in the server-side context -
Fitness.UNSUPPORTEDif the policy assertion is recognized however it's content is not supported. -
Fitness.INVALIDif the policy assertion is recognized however its content (value, parameters, nested assertions) is invalid.
- Specified by:
validateServerSidein interfacePolicyAssertionValidator- Parameters:
assertion- A policy asssertion (SeePolicyAssertion). May contain nested policies and assertions.- Returns:
- fitness of the
assertionon in the server-side context. Must not benull.
-
-
-