1
2
3
4 package org.andromda.cartridges.webservice.metafacades;
5
6 /***
7 * <p>
8 * Represents a web service.
9 * </p>
10 *
11 * Metafacade interface to be used by AndroMDA cartridges.
12 */
13 public interface WebService
14 extends org.andromda.metafacades.uml.Service
15 {
16
17 /***
18 * Indicates the metafacade type (used for metafacade mappings).
19 *
20 * @return always <code>true</code>
21 */
22 public boolean isWebServiceMetaType();
23
24 /***
25 * <p>
26 * Creates a space delimited string containing a name of ALL
27 * allowed methods.
28 * </p>
29 */
30 public java.lang.String getAllowedMethods();
31
32 /***
33 * <p>
34 * All operations which are exposed on the web service.
35 * </p>
36 */
37 public java.util.Collection getAllowedOperations();
38
39 /***
40 * <p>
41 * The home interface name for an EJB provider.
42 * </p>
43 */
44 public java.lang.String getEjbHomeInterface();
45
46 /***
47 * <p>
48 * The interface name for an EJB provider.
49 * </p>
50 */
51 public java.lang.String getEjbInterface();
52
53 /***
54 * <p>
55 * The JNDI name for the EJB provider (the EJB that provides the
56 * functionality behind this web service).
57 * </p>
58 */
59 public java.lang.String getEjbJndiName();
60
61 /***
62 * <p>
63 * The fully qualified name of the test implementation class for
64 * this web service.
65 * </p>
66 */
67 public java.lang.String getFullyQualifiedTestImplementationName();
68
69 /***
70 * <p>
71 * The fully qualified name of a test generated for this web
72 * service.
73 * </p>
74 */
75 public java.lang.String getFullyQualifiedTestName();
76
77 /***
78 * <p>
79 * The name of the namespace to which this web service belongs.
80 * </p>
81 */
82 public java.lang.String getNamespace();
83
84 /***
85 * <p>
86 * The namespace prefix used for types defined within the generated
87 * WSDLs.
88 * </p>
89 */
90 public java.lang.String getNamespacePrefix();
91
92 /***
93 * <p>
94 * The provider for this web service. Provider is something like:
95 * 'java:RPC', or 'java:EJB' etc.
96 * </p>
97 */
98 public java.lang.String getProvider();
99
100 /***
101 * <p>
102 * The QName for this service. Usually it will be the same name as
103 * the model element, however it is possible to specify a prefix to
104 * give to this name.
105 * </p>
106 */
107 public java.lang.String getQName();
108
109 /***
110 * <p>
111 * The name of the RPC implementation class.
112 * </p>
113 */
114 public java.lang.String getRpcClassName();
115
116 /***
117 * <p>
118 * The style of binding in the generated WSDL, either DOCUMENT,
119 * RPC, or WRAPPED.
120 * </p>
121 */
122 public java.lang.String getStyle();
123
124 /***
125 * <p>
126 * The name for the test implementation class.
127 * </p>
128 */
129 public java.lang.String getTestImplementationName();
130
131 /***
132 * <p>
133 * The name of a the test for this web service.
134 * </p>
135 */
136 public java.lang.String getTestName();
137
138 /***
139 * <p>
140 * The name of the package to which tests are generated.
141 * </p>
142 */
143 public java.lang.String getTestPackageName();
144
145 /***
146 * <p>
147 * Returns a collection of all type mappings used by this
148 * WebServiceFacade. This consists of all complex types that the
149 * service may take in as a parameter in an operation or returns
150 * and exceptions that this web service throws.
151 * </p>
152 */
153 public java.util.Collection getTypeMappingElements();
154
155 /***
156 * <p>
157 * The use of items in the binding, either LITERAL or ENCODED.
158 * </p>
159 */
160 public java.lang.String getUse();
161
162 /***
163 * <p>
164 * The location of the WSDL file for this web service.
165 * </p>
166 */
167 public java.lang.String getWsdlFile();
168
169 /***
170 * <p>
171 * Indicates whether or not this service is "document" style.
172 * </p>
173 */
174 public boolean isDocumentStyle();
175
176 /***
177 * <p>
178 * Indicates whether or not this web service has a "encoded" use
179 * defined.
180 * </p>
181 */
182 public boolean isEncodedUse();
183
184 /***
185 * <p>
186 * Indicates whether or not this web service has a "literal" use
187 * defined.
188 * </p>
189 */
190 public boolean isLiteralUse();
191
192 /***
193 * <p>
194 * Indicates whether or not this service is "rpc" style.
195 * </p>
196 */
197 public boolean isRpcStyle();
198
199 /***
200 * <p>
201 * Whether or not this web service is secured (its based on whether
202 * or not it has any roles associated to it).
203 * </p>
204 */
205 public boolean isSecured();
206
207 /***
208 * <p>
209 * Indicates whether or not this service style is "wrapped".
210 * </p>
211 */
212 public boolean isWrappedStyle();
213
214 }