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 }