FileDocCategorySizeDatePackage
PolicyMapKey.javaAPI DocExample5430Tue May 29 16:56:34 BST 2007com.sun.xml.ws.policy

PolicyMapKey

public final class PolicyMapKey extends Object
This class provides implementation of PolicyMapKey interface to be used in connection with {@link PolicyMap}. Instances of the class are created by a call to one of {@link PolicyMap} createWsdlXXXPolicyMapKey(...) methods.

The class wraps scope information and adds a package setter method to allow injection of actual equality comparator/tester. This injection is made within a get... call on {@link PolicyMap}, before the actual scope map search is performed.

author
Marek Potociar (marek.potociar at sun.com)

Fields Summary
private static final com.sun.xml.ws.policy.privateutil.PolicyLogger
LOGGER
QName
service
QName
port
QName
operation
QName
faultMessage
private PolicyMapKeyHandler
handler
Constructors Summary
PolicyMapKey(QName service, QName port, QName operation)

    
             
        this.service = service;
        this.port = port;
        this.operation = operation;
        
//        this.inputMessage = inputMessage;
//        this.outputMessage = outputMessage;
    
PolicyMapKey(QName service, QName port, QName operation, QName faultMessage)

        this.service = service;
        this.port = port;
        this.operation = operation;
        
//        this.inputMessage = inputMessage;
//        this.outputMessage = outputMessage;
        
        this.faultMessage = faultMessage;
    
PolicyMapKey(PolicyMapKey that)

        this.service = that.service;
        this.port = that.port;
        this.operation = that.operation;
        this.faultMessage = that.faultMessage;

//        this.inputMessage = that.inputMessage;
//        this.outputMessage = that.outputMessage;

        this.handler = that.handler;
    
Methods Summary
public booleanequals(java.lang.Object that)

        if (this == that) {
            return true; // we are lucky here => no special handling is required
        }
        
        if (that == null) {
            return false;
        }
            
        if (handler == null) {
            throw LOGGER.logSevereException(new IllegalStateException(LocalizationMessages.WSP_0046_POLICY_MAP_KEY_HANDLER_NOT_SET()));
        }
        
        if (that instanceof PolicyMapKey) {
            return handler.areEqual(this, (PolicyMapKey) that);
        } else {
            return false;
        }
    
public inthashCode()

        if (handler == null) {
            throw LOGGER.logSevereException(new IllegalStateException(LocalizationMessages.WSP_0046_POLICY_MAP_KEY_HANDLER_NOT_SET()));
        }

        return handler.generateHashCode(this);
    
voidsetHandler(PolicyMapKeyHandler handler)

        this.handler = handler;
    
public java.lang.StringtoString()

        final StringBuffer result = new StringBuffer("WsdlPolicyMapKey(");
        result.append(this.service).append(", ").append(port).append(", ").append(operation).append(", ").append(faultMessage);
        return result.append(")").toString();