1 /* 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.sun.xml.internal.ws.api.model.wsdl; 27 28 import com.sun.istack.internal.NotNull; 29 import com.sun.istack.internal.Nullable; 30 31 import javax.xml.namespace.QName; 32 33 /** 34 * Abstraction of wsdl:portType/wsdl:operation/wsdl:input 35 * 36 * @author Vivek Pandey 37 */ 38 public interface WSDLInput extends WSDLObject, WSDLExtensible { 39 /** 40 * Gives the wsdl:portType/wsdl:operation/wsdl:input@name 41 */ 42 String getName(); 43 44 /** 45 * Gives the WSDLMessage corresponding to wsdl:input@message 46 * <p/> 47 * This method should not be called before the entire WSDLModel is built. Basically after the WSDLModel is built 48 * all the references are resolve in a post processing phase. IOW, the WSDL extensions should 49 * not call this method. 50 * 51 * @return Always returns null when called from inside WSDL extensions. 52 */ 53 WSDLMessage getMessage(); 54 55 /** 56 * Gives the Action Message Addressing Property value for 57 * {@link WSDLInput} message. 58 * <p/> 59 * This method provides the correct value irrespective of 60 * whether the Action is explicitly specified in the WSDL or 61 * implicitly derived using the rules defined in WS-Addressing. 62 * 63 * @return Action 64 */ 65 String getAction(); 66 67 /** 68 * Gives the owning {@link WSDLOperation} 69 */ 70 @NotNull 71 WSDLOperation getOperation(); 72 73 /** 74 * Gives qualified name of the wsdl:input 'name' attribute value. If there is no name, then it computes the name from: 75 * 76 * If the wsdl:operation is oneway: 77 * 78 * wsdl:operation@name value, which is local name of {@link WSDLOperation#getName()} 79 * <p/> 80 * otherwise 81 * 82 * wsdl:operation@name+"Request", which is local name of {@link WSDLOperation#getName()} + "Request" 83 * <p/> 84 * 85 * The namespace uri is determined from the enclosing wsdl:operation. 86 */ 87 @NotNull 88 QName getQName(); 89 90 /** 91 * Checks if the Action value is implicitly derived using the rules defined in WS-Addressing. 92 * 93 * @return true if the Action value is implicitly derived using the rules defined in WS-Addressing. 94 */ 95 boolean isDefaultAction(); 96 }