| /* |
| * Copyright 2002-2004 The Apache Software Foundation. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.axis.description; |
| |
| import org.apache.axis.encoding.TypeMapping; |
| import org.apache.axis.encoding.TypeMappingRegistry; |
| import org.apache.axis.constants.Style; |
| import org.apache.axis.constants.Use; |
| |
| import javax.xml.namespace.QName; |
| import java.util.ArrayList; |
| import java.util.List; |
| import java.io.Serializable; |
| |
| public interface ServiceDesc extends Serializable { |
| /** |
| * What kind of service is this? |
| * @return |
| */ |
| Style getStyle(); |
| |
| void setStyle(Style style); |
| |
| /** |
| * What kind of use is this? |
| * @return |
| */ |
| Use getUse(); |
| |
| void setUse(Use use); |
| |
| /** |
| * the wsdl file of the service. |
| * When null, it means that the wsdl should be autogenerated |
| * @return filename or null |
| */ |
| String getWSDLFile(); |
| |
| /** |
| * set the wsdl file of the service; this causes the named |
| * file to be returned on a ?wsdl, probe, not introspection |
| * generated wsdl. |
| * @param wsdlFileName filename or null to re-enable introspection |
| */ |
| void setWSDLFile(String wsdlFileName); |
| |
| List getAllowedMethods(); |
| |
| void setAllowedMethods(List allowedMethods); |
| |
| TypeMapping getTypeMapping(); |
| |
| void setTypeMapping(TypeMapping tm); |
| |
| /** |
| * the name of the service |
| */ |
| String getName(); |
| |
| /** |
| * the name of the service |
| * @param name |
| */ |
| void setName(String name); |
| |
| /** |
| * get the documentation for the service |
| */ |
| String getDocumentation(); |
| |
| /** |
| * set the documentation for the service |
| */ |
| void setDocumentation(String documentation); |
| |
| void removeOperationDesc(OperationDesc operation); |
| |
| void addOperationDesc(OperationDesc operation); |
| |
| /** |
| * get all the operations as a list of OperationDescs. |
| * this method triggers an evaluation of the valid operations by |
| * introspection, so use sparingly |
| * @return reference to the operations array. This is not a copy |
| */ |
| ArrayList getOperations(); |
| |
| /** |
| * get all overloaded operations by name |
| * @param methodName |
| * @return null for no match, or an array of OperationDesc objects |
| */ |
| OperationDesc [] getOperationsByName(String methodName); |
| |
| /** |
| * Return an operation matching the given method name. Note that if we |
| * have multiple overloads for this method, we will return the first one. |
| * @return null for no match |
| */ |
| OperationDesc getOperationByName(String methodName); |
| |
| /** |
| * Map an XML QName to an operation. Returns the first one it finds |
| * in the case of mulitple matches. |
| * @return null for no match |
| */ |
| OperationDesc getOperationByElementQName(QName qname); |
| |
| /** |
| * Return all operations which match this QName (i.e. get all the |
| * overloads) |
| * @return null for no match |
| */ |
| OperationDesc [] getOperationsByQName(QName qname); |
| |
| void setNamespaceMappings(List namespaces); |
| |
| String getDefaultNamespace(); |
| |
| void setDefaultNamespace(String namespace); |
| |
| void setProperty(String name, Object value); |
| |
| Object getProperty(String name); |
| |
| String getEndpointURL(); |
| |
| void setEndpointURL(String endpointURL); |
| |
| TypeMappingRegistry getTypeMappingRegistry(); |
| |
| void setTypeMappingRegistry(TypeMappingRegistry tmr); |
| |
| boolean isInitialized(); |
| |
| /** |
| * Determine whether or not this is a "wrapped" invocation, i.e. whether |
| * the outermost XML element of the "main" body element represents a |
| * method call, with the immediate children of that element representing |
| * arguments to the method. |
| * |
| * @return true if this is wrapped (i.e. RPC or WRAPPED style), |
| * false otherwise |
| */ |
| boolean isWrapped(); |
| |
| List getDisallowedMethods(); |
| |
| void setDisallowedMethods(List disallowedMethods); |
| } |