feat(jdk8): move files to new folder to avoid resources compiled.
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package com.sun.xml.internal.ws.policy.spi;
|
||||
|
||||
import com.sun.xml.internal.ws.policy.PolicyAssertion;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import javax.xml.namespace.QName;
|
||||
|
||||
/**
|
||||
* This abstract policy assertion validator validates assertions by their qualified
|
||||
* name. Server and client side validation methods return {@link Fitness} based on
|
||||
* following schema:
|
||||
*
|
||||
* <ul>
|
||||
* <li>{@link Fitness#SUPPORTED} - if the assertion qualified name is in the list of
|
||||
* supported assertion names on the server/client side</li>
|
||||
* <li>{@link 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 side</li>
|
||||
* <li>{@link Fitness#UNKNOWN} - if the assertion qualified name is not present in the any of
|
||||
* the lists of supported assertion names</li>
|
||||
* </ul>
|
||||
*
|
||||
* For some domains such validation may be sufficient enough. Other domains may
|
||||
* use functionality of this base class as a first step validation before any attempts
|
||||
* to validate content of the assertion. To do this one needs to override and reuse
|
||||
* the default behavior of {@link #validateClientSide(PolicyAssertion)} and
|
||||
* {@link #validateServerSide(PolicyAssertion)} methods.
|
||||
*
|
||||
* @author Marek Potociar (marek.potociar at sun.com)
|
||||
*/
|
||||
public abstract class AbstractQNameValidator implements PolicyAssertionValidator {
|
||||
private final Set<String> supportedDomains = new HashSet<String>();
|
||||
private final Collection<QName> serverAssertions;
|
||||
private final Collection<QName> clientAssertions;
|
||||
|
||||
/**
|
||||
* 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
|
||||
* (see {@link PolicyAssertionValidator#declareSupportedDomains}).
|
||||
*
|
||||
* @param serverSideAssertions The server-side assertions.
|
||||
* @param clientSideAssertions The client-side assertions.
|
||||
*/
|
||||
protected AbstractQNameValidator(Collection<QName> serverSideAssertions, Collection<QName> clientSideAssertions) {
|
||||
if (serverSideAssertions != null) {
|
||||
this.serverAssertions = new HashSet<QName>(serverSideAssertions);
|
||||
for (QName assertion : this.serverAssertions) {
|
||||
supportedDomains.add(assertion.getNamespaceURI());
|
||||
}
|
||||
} else {
|
||||
this.serverAssertions = new HashSet<QName>(0);
|
||||
}
|
||||
|
||||
if (clientSideAssertions != null) {
|
||||
this.clientAssertions = new HashSet<QName>(clientSideAssertions);
|
||||
for (QName assertion : this.clientAssertions) {
|
||||
supportedDomains.add(assertion.getNamespaceURI());
|
||||
}
|
||||
} else {
|
||||
this.clientAssertions = new HashSet<QName>(0);
|
||||
}
|
||||
}
|
||||
|
||||
public String[] declareSupportedDomains() {
|
||||
return supportedDomains.toArray(new String[supportedDomains.size()]);
|
||||
}
|
||||
|
||||
public Fitness validateClientSide(PolicyAssertion assertion) {
|
||||
return validateAssertion(assertion, clientAssertions, serverAssertions);
|
||||
}
|
||||
|
||||
public Fitness validateServerSide(PolicyAssertion assertion) {
|
||||
return validateAssertion(assertion, serverAssertions, clientAssertions);
|
||||
}
|
||||
|
||||
private Fitness validateAssertion(PolicyAssertion assertion, Collection<QName> thisSideAssertions, Collection<QName> otherSideAssertions) {
|
||||
QName assertionName = assertion.getName();
|
||||
if (thisSideAssertions.contains(assertionName)) {
|
||||
return Fitness.SUPPORTED;
|
||||
} else if (otherSideAssertions.contains(assertionName)) {
|
||||
return Fitness.UNSUPPORTED;
|
||||
} else {
|
||||
return Fitness.UNKNOWN;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package com.sun.xml.internal.ws.policy.spi;
|
||||
|
||||
import com.sun.xml.internal.ws.policy.PolicyException;
|
||||
import com.sun.xml.internal.ws.policy.sourcemodel.AssertionData;
|
||||
|
||||
/**
|
||||
* Exception thrown in case of assertion creation failure.
|
||||
*
|
||||
* @author Marek Potociar
|
||||
*/
|
||||
public final class AssertionCreationException extends PolicyException {
|
||||
|
||||
private final AssertionData assertionData;
|
||||
|
||||
/**
|
||||
* Constructs a new assertion creation exception with the specified detail message and cause.
|
||||
* <p/>
|
||||
* Note that the detail message associated with {@code cause} is <emph>not</emph> automatically incorporated in
|
||||
* this exception's detail message.
|
||||
*
|
||||
* @param assertionData the data provided for assertion creation
|
||||
* @param message the detail message.
|
||||
*/
|
||||
public AssertionCreationException(final AssertionData assertionData, final String message) {
|
||||
super(message);
|
||||
this.assertionData = assertionData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new assertion creation exception with the specified detail message and cause.
|
||||
* <p/>
|
||||
* Note that the detail message associated with {@code cause} is <emph>not</emph> automatically incorporated in
|
||||
* this exception's detail message.
|
||||
*
|
||||
* @param assertionData the data provided for assertion creation
|
||||
* @param message the detail message.
|
||||
* @param cause the cause. (A {@code null} value is permitted, and indicates that the cause is nonexistent or unknown.)
|
||||
*/
|
||||
public AssertionCreationException(final AssertionData assertionData, final String message, final Throwable cause) {
|
||||
super(message, cause);
|
||||
this.assertionData = assertionData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new assertion creation exception with the specified detail message and cause.
|
||||
*
|
||||
* @param assertionData the data provided for assertion creation
|
||||
* @param cause the cause. (A {@code null} value is permitted, and indicates that the cause is nonexistent or unknown.)
|
||||
*/
|
||||
public AssertionCreationException(AssertionData assertionData, Throwable cause) {
|
||||
super(cause);
|
||||
this.assertionData = assertionData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves assertion data associated with the exception.
|
||||
*
|
||||
* @return associated assertion data (present when assertion creation failed raising this exception).
|
||||
*/
|
||||
public AssertionData getAssertionData() {
|
||||
return this.assertionData;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package com.sun.xml.internal.ws.policy.spi;
|
||||
|
||||
import com.sun.xml.internal.ws.policy.AssertionSet;
|
||||
import com.sun.xml.internal.ws.policy.PolicyAssertion;
|
||||
import com.sun.xml.internal.ws.policy.sourcemodel.AssertionData;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* The interface defines contract for custom (domain specific) policy assertion
|
||||
* factories. The implementations are discovered using service provider mechanism
|
||||
* described in the
|
||||
* <a href="http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#Service%20Provider">J2SE JAR File Specification</a>.
|
||||
*<p/>
|
||||
* Every implementation of policy assertion creator is expected to <b>fully</b>
|
||||
* handle the creation of assertions for the domain (namespace) it claims to
|
||||
* support by returning the namespace string from the {link #getSupportedDomainNamespaceUri()}
|
||||
* method. To handle creation of domain-specific assertions that are not intended
|
||||
* to be customized, the default policy assertion creator (passed as one of the
|
||||
* input parameters into the {@link #createAssertion(AssertionData, Collection, AssertionSet, PolicyAssertionCreator)} method)
|
||||
* shall be used.
|
||||
*
|
||||
* @author Marek Potociar
|
||||
*/
|
||||
public interface PolicyAssertionCreator {
|
||||
|
||||
/**
|
||||
* This method returns the namespace URIs of the domains that are supported by the implementation of
|
||||
* this inteface. There can be multiple URIs supported per single implementation.
|
||||
* <p/>
|
||||
* Supporting domain namespace URI means that particular {@code PolicyAssertionCreator} implementation
|
||||
* is able to create assertion instances for the domains identified by the namespace URIs returned from this
|
||||
* method. It is required that each {@code PolicyAssertionCreator} implementation handles the policy
|
||||
* assertion creation for <b>each</b> assertion in every domain it claims to support.
|
||||
*
|
||||
* @return string array representing the namespace URIs of the supported domains. It is expected that multiple calls on this method return the
|
||||
* same value each time. <b>Returned string array must be neither {@code null} nor empty. Also each string value in the array must not be {@code null}
|
||||
* nor empty.</b>
|
||||
*
|
||||
*/
|
||||
String[] getSupportedDomainNamespaceURIs();
|
||||
|
||||
/**
|
||||
* Creates domain-specific policy assertion instance according to assertion data provided. For the provided
|
||||
* assertion data and this policy assertion creator instance, it will allways be true that assertion namespace
|
||||
* URI equals to one of supported domain namespace URIs.
|
||||
*<p/>
|
||||
* Additional method parameter (which must not be {@code null}) supplied by the policy framework specifies a default policy
|
||||
* assertion creator that might be used to handle creation of unsupported domain assertion in the default way. This is
|
||||
* to give policy assertion creator a chance to handle also creation of "unsupported" domain assertions and to encourage
|
||||
* implemetors to use class composition instad of class inheritance.
|
||||
*
|
||||
* @param data assertion creation data specifying the details of newly created assertion
|
||||
* @param assertionParameters collection of assertions parameters of this policy assertion. May be {@code null}.
|
||||
* @param nestedAlternative assertion set specifying nested policy alternative. May be {@code null}.
|
||||
* @param defaultCreator default policy assertion creator implementation that shall be used to handle creation of assertions
|
||||
* which are not explicitly supported by this policy assertion creator implementation
|
||||
* @return domain specific policy assertion implementation according to assertion data provided.
|
||||
*
|
||||
* @throws AssertionCreationException in case of assertion creation failure
|
||||
*/
|
||||
PolicyAssertion createAssertion(AssertionData data, Collection<PolicyAssertion> assertionParameters, AssertionSet nestedAlternative, PolicyAssertionCreator defaultCreator) throws AssertionCreationException;
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package com.sun.xml.internal.ws.policy.spi;
|
||||
|
||||
import com.sun.xml.internal.ws.policy.PolicyAssertion;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author Marek Potociar (marek.potociar at sun.com)
|
||||
*/
|
||||
public interface PolicyAssertionValidator {
|
||||
|
||||
public static enum Fitness {
|
||||
UNKNOWN,
|
||||
INVALID,
|
||||
UNSUPPORTED,
|
||||
SUPPORTED;
|
||||
|
||||
public Fitness combine(Fitness other) {
|
||||
if (this.compareTo(other) < 0) {
|
||||
return other;
|
||||
} else {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* An implementation of this method must return:
|
||||
* <ul>
|
||||
* <li>
|
||||
* {@code Fitness.UNKNOWN} if the policy assertion type is not recognized
|
||||
* </li>
|
||||
* <li>
|
||||
* {@code Fitness.SUPPORTED} if the policy assertion is supported in the
|
||||
* client-side context
|
||||
* </li>
|
||||
* <li>
|
||||
* {@code 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.
|
||||
* </li>
|
||||
* <li>
|
||||
* {@code 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.
|
||||
* </li>
|
||||
* </ul>
|
||||
*
|
||||
* @param assertion A policy asssertion (See {@link com.sun.xml.internal.ws.policy.PolicyAssertion PolicyAssertion}).
|
||||
* May contain nested policies and assertions.
|
||||
* @return fitness of the {@code assertion} on in the client-side context. Must not be {@code null}.
|
||||
*/
|
||||
public Fitness validateClientSide(PolicyAssertion assertion);
|
||||
|
||||
/**
|
||||
* An implementation of this method must return:
|
||||
* <ul>
|
||||
* <li>
|
||||
* {@code Fitness.UNKNOWN} if the policy assertion type is not recognized
|
||||
* </li>
|
||||
* <li>
|
||||
* {@code Fitness.SUPPORTED} if the policy assertion is supported in the
|
||||
* server-side context
|
||||
* </li>
|
||||
* <li>
|
||||
* {@code Fitness.UNSUPPORTED} if the policy assertion is recognized however
|
||||
* it's content is not supported.
|
||||
* </li>
|
||||
* <li>
|
||||
* {@code Fitness.INVALID} if the policy assertion is recognized however
|
||||
* its content (value, parameters, nested assertions) is invalid.
|
||||
* </li>
|
||||
* </ul>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* @param assertion A policy asssertion (See {@link com.sun.xml.internal.ws.policy.PolicyAssertion PolicyAssertion}).
|
||||
* May contain nested policies and assertions.
|
||||
* @return fitness of the {@code assertion} on in the server-side context. Must not be {@code null}.
|
||||
*/
|
||||
public Fitness validateServerSide(PolicyAssertion assertion);
|
||||
|
||||
/**
|
||||
* 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).
|
||||
* <p/>
|
||||
* It is legal for two or more {@code PolicyAssertionValidator}s 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):
|
||||
* <ol>
|
||||
* <li>SUPPORTED</li>
|
||||
* <li>UNSUPPORTED</li>
|
||||
* <li>INVALID</li>
|
||||
* <li>UNKNOWN</li>
|
||||
* </ol>
|
||||
*
|
||||
*
|
||||
* @return {@code String} array holding {@code String} representations of identifiers of all supported domains.
|
||||
* Usually a domain identifier is represented by a namespace.
|
||||
*/
|
||||
public String[] declareSupportedDomains();
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package com.sun.xml.internal.ws.policy.spi;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Maps an XML prefix to a namespace.
|
||||
*
|
||||
* This class allows policy domains to configure to which XML prefix an XML
|
||||
* namespace is mapped.
|
||||
*
|
||||
* @author Fabian Ritzmann
|
||||
*/
|
||||
public interface PrefixMapper {
|
||||
|
||||
/**
|
||||
* Returns a map of XML prefixes to namespaces for the domain.
|
||||
*
|
||||
* The keys of the map must be a name for an XML prefix, e.g. "wsrmp". The
|
||||
* values must be the name of an XML namespace, e.g.
|
||||
* "http://docs.oasis-open.org/ws-rx/wsrmp/200702".
|
||||
*
|
||||
* @return A map of XML prefixes to namespaces for the domain.
|
||||
*/
|
||||
Map<String, String> getPrefixMap();
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/**
|
||||
* The package contains policy API extension point definitions.
|
||||
*/
|
||||
package com.sun.xml.internal.ws.policy.spi;
|
||||
Reference in New Issue
Block a user