1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 }