View Javadoc

1   /*
2    *  Copyright (c) 2008 Rodrigo Ruiz
3    *
4    *  Licensed under the Apache License, Version 2.0 (the "License");
5    *  you may not use this file except in compliance with the License.
6    *  You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *  Unless required by applicable law or agreed to in writing, software
11   *  distributed under the License is distributed on an "AS IS" BASIS,
12   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *  See the License for the specific language governing permissions and
14   *  limitations under the License.
15   */
16  package org.apache.axis.message.addressing;
17  
18  import javax.xml.namespace.QName;
19  
20  /**
21   * Container for several fields that change from one version to another of the
22   * WS-Addressing specification.
23   * <p>
24   * This interface aims to encapsulate all those aspects that vary from
25   * one specification to the others.
26   *
27   * @author Rodrigo Ruiz
28   * @version $Revision: 14 $
29   */
30  public interface AddressingVersion {
31    /**
32     * Gets the URI to use for anonymous target declarations.
33     *
34     * @return The anonymous target URI
35     */
36    String getAnonymousRoleURI();
37  
38    /**
39     * Gets the fault wsa:Action URI that is appropriate for this WSA version.
40     *
41     * @return The fault Action URI
42     */
43    String getFaultActionURI();
44  
45    /**
46     * Gets the namespace associated to this version.
47     *
48     * @return The namespace for SOAP addressing elements
49     */
50    String getNamespace();
51  
52    /**
53     * Returns the response/reply relationship QName that is appropriate for this
54     * WSA version..
55     *
56     * @return The response/reply QName
57     */
58    QName getResponseRelationshipType();
59  
60    /**
61     * Gets if the namespace is supported by the W3C specifications.
62     *
63     * @return <tt>true</tt> if this version is compliant with
64     *         the W3C specifications; <tt>false</tt> otherwise
65     */
66    boolean isW3C();
67  
68    /**
69     * Gets if this addressing version supports Reference Parameters.
70     *
71     * @return <tt>true</tt> if reference parameters are supported;
72     *         <tt>false</tt> otherwise
73     */
74    boolean supportsParameters();
75  
76    /**
77     * Gets if this addressing version supports Reference Properties.
78     *
79     * @return <tt>true</tt> if reference properties are supported;
80     *         <tt>false</tt> otherwise
81     */
82    boolean supportsProperties();
83  
84    /**
85     * Gets if this addressing version supports MetaData.
86     *
87     * @return <tt>true</tt> if MetaData is supported;
88     *         <tt>false</tt> otherwise
89     */
90    boolean supportsMetadata();
91  }