View Javadoc

1   /*
2    * Copyright 2001-2004 The Apache Software Foundation.
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  
17  package org.apache.geronimo.ews.ws4j2ee.context.wsdl;
18  
19  import org.apache.axis.wsdl.symbolTable.BindingEntry;
20  import org.apache.axis.wsdl.symbolTable.Element;
21  import org.apache.axis.wsdl.symbolTable.PortEntry;
22  import org.apache.axis.wsdl.symbolTable.PortTypeEntry;
23  import org.apache.axis.wsdl.symbolTable.ServiceEntry;
24  import org.apache.axis.wsdl.symbolTable.TypeEntry;
25  import org.apache.geronimo.ews.ws4j2ee.context.wsdl.type.SchemaType;
26  
27  import javax.wsdl.Port;
28  import javax.wsdl.Service;
29  import javax.xml.namespace.QName;
30  import java.util.Collection;
31  import java.util.Map;
32  
33  /***
34   * <p>This interface expose the information contains in the WSDL.
35   * This interface exposed the information. It does not expose how the
36   * the information is parsed.</p>
37   * <p>This interface and related interfaces has both getter and setter methods
38   * but who ever implements this interface might not need the both.
39   * e.g. there can be two concreate implementations for this class
40   * for the cases</p>
41   * <ul>
42   * <li>have WSDL</li>
43   * <li>do not have WSDL</li>
44   * </ul>
45   * <p>if some method is not requried please throw java.lang.UnsupportedOperationException</p>
46   *
47   * @author Srinath Perera(hemapani@opensource.lk)
48   */
49  public interface WSDLContext {
50      /***
51       * @return all the ports define in the WSDL
52       */
53      public Collection getPortTypes();
54  
55      /***
56       * @param portname
57       * @return PortType whose name is equal to portname.
58       *         return null if no PortType with this name.
59       */
60      public PortTypeEntry getPortType(QName portname);
61  
62      /***
63       * @return all the bindings define in the WSDL
64       */
65      public Collection getBindings();
66  
67      /***
68       * @param bindingname
69       * @return Binding whose name is equal to bindingname.
70       *         return null if no Binding with this name.
71       */
72      public BindingEntry getBinding(QName bindingname);
73  
74      /***
75       * @return all the ports define in the WSDL
76       */
77      public Collection getServices();
78  
79      /***
80       * @param servicename
81       * @return Service whose name is equal to servicename.
82       *         return null if no Service with this name.
83       */
84      public ServiceEntry getService(QName servicename);
85  
86      /***
87       * add Service information
88       *
89       * @param service
90       */
91      public void addService(Service service);
92  
93      /***
94       * @return all the Types define in the WSDL
95       */
96      public Map getTypes();
97  
98      /***
99       * @param typename
100      * @return Type whose name is equal to typename.
101      *         return null if no Type with this name.
102      */
103     public TypeEntry getType(QName typename);
104 
105     /***
106      * add a Type
107      *
108      * @param type
109      */
110     public void addType(SchemaType type);
111 
112     public Element getElement(QName name);
113 
114     public PortEntry getPort(QName name);
115 
116     public String getTargetNSURI();
117 
118     /***
119      * WSDL artifacts correponds to the current WSCF port.
120      * If one element is in the wsdl theu are used. How to select them
121      * if there is more than one is still to do.
122      *
123      * @return
124      */
125     public ServiceEntry gettargetService();
126 
127     public void settargetService(ServiceEntry service);
128 
129     public BindingEntry gettargetBinding();
130 
131     public void settargetBinding(BindingEntry binding);
132 
133     public PortTypeEntry getTargetPortType();
134 
135     public void setTargetPortType(PortTypeEntry port);
136 
137     public void setTargetPort(Port port);
138 
139     public Port getTargetPort();
140 
141     public void validate();
142 
143 }