/******************************************************************************* | |
* Copyright (c) 2009 by SAP AG, Walldorf. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/epl-v10.html | |
* | |
* Contributors: | |
* SAP AG - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.jst.ws.jaxws.dom.runtime.provider; | |
import java.util.List; | |
import java.util.Set; | |
import org.eclipse.jst.ws.jaxws.utils.annotations.IAnnotationPropertyContainer; | |
/** | |
* Represents metadata for an endpoint. Contains information about the name and namespace of the endpoint. Contains exposed operations. This interface | |
* is intended to be used as input data for implementors of {@link IEndpointGenerator}. | |
* | |
* @author Plamen Pavlov | |
*/ | |
public interface IEndpointMetadata | |
{ | |
/** | |
* @return The name of enpoint. | |
*/ | |
public String getName(); | |
/** | |
* @return The package/namespace of the endpoint. | |
*/ | |
public String getPackage(); | |
/** | |
* @return the name of the service representing this endpoint | |
*/ | |
public String getServiceName(); | |
/** | |
* Sets the name of the wsdl:service representing this endpoint. | |
* | |
* @param serviceName | |
*/ | |
public void setServiceName(String serviceName); | |
/** | |
* @return the name of the wsdl:port referencing this endpoint which this | |
*/ | |
public String getPortName(); | |
/** | |
* Sets the name of the wsdl:port referencing this endpoint which this | |
* | |
* @param portName | |
*/ | |
public void setPortName(String portName); | |
/** | |
* @return the wsdl location in case this endpoint is generated from wsdl otherwise <tt>null</tt> | |
*/ | |
public String getWsdlLocation(); | |
/** | |
* Sets the wsdl location in case this endpoint is generated from wsdl | |
* | |
* @param wsdlLocation | |
* location | |
*/ | |
public void setWsdlLocation(String wsdlLocation); | |
/** | |
* @return the namespace URI | |
*/ | |
public String getNamespaceURI(); | |
/** | |
* sets the namespace URI | |
* | |
* @param namespaceURI | |
*/ | |
public void setNamespaceURI(String namespaceURI); | |
/** | |
* @return the name of the Service Endpoint Interface containing WebService methods that will be implemented by this endpoint implementation. This | |
* method can return <tt>null</tt> | |
*/ | |
public String getSEIName(); | |
/** | |
* Sets the Service Endpoint Interface referenced by this endpoint. | |
* | |
* @param seiName | |
* @throws NullPointerException | |
* in case <tt>seiName</tt> is null | |
* @throws IllegalArgumentException | |
* in case <tt>seiName</tt> is empty string | |
*/ | |
public void setSEIName(String seiName); | |
/** | |
* @return The fully qualified name of endpoint. | |
*/ | |
public String getFullyQualifiedName(); | |
/** | |
* @return list of added methods | |
*/ | |
public List<IEndpointMethod> getMethods(); | |
/** | |
* Creates an empty instance of {@link IEndpointMethod} with <tt>name</tt> and <tt>returnTypeFQName</tt> and adds it to the set of available | |
* methods. | |
* | |
* @param name | |
* @param returnTypeFQName | |
* @return created IEndpointMethod for added method | |
*/ | |
public IEndpointMethod addMethod(String name, String returnTypeFQName); | |
/** | |
* Adds {@link IAnnotationPropertyContainer} to the {@link IEndpointMetadata} descriptor. | |
* | |
* @param annotationsContainer - Container, which will be added. | |
* | |
*/ | |
public void addAnnotationsContainer(final IAnnotationPropertyContainer annotationsContainer); | |
/** | |
* Returns Set with {@link IAnnotationPropertyContainer} related to the {@link IEndpointMetadata} descriptor. | |
* | |
* @return Set with {@link IAnnotationPropertyContainer}. | |
*/ | |
public Set<IAnnotationPropertyContainer> getAnnotationsContainer(); | |
} |