001package org.andromda.cartridges.webservice;
002
003/**
004 * Stores global variables for the WebService cartridge metafacades.
005 *
006 * @author Chad Brandon
007 * @author Bob Fields
008 */
009public class WebServiceGlobals
010{
011    /**
012     * The prefix for the XSD namespace.
013     */
014    public static final String XSD_NAMESPACE_PREFIX = "xs:";
015
016    /**
017     * Defines the property that stores the location of the schema type mappings URI.
018     */
019    public static final String SCHEMA_TYPE_MAPPINGS_URI = "schemaTypeMappingsUri";
020
021    /**
022     * The prefix given to wrapped style WSDL array types.
023     */
024    public static final String ARRAY_NAME_PREFIX = "arrayNamePrefix";
025
026    /**
027     * The namespace delimiter (separates namespaces).
028     */
029    public static final char NAMESPACE_DELIMITER = '.';
030
031    /**
032     * If backslash should be appended to all namespaces. Default=true, set to false for backwards compatibility.
033     */
034    public static final String ADD_NAMESPACE_BACKSLASH = "addNamespaceBackslash";
035
036    /**
037     * Use human readable mixed-case enumeration literal values in XSD, instead of literal key. Default=true, set to false for upper-underscore XSD enum values.
038     */
039    public static final String USE_ENUM_VALUE_IN_XSD = "useEnumValueInXSD";
040
041    /**
042     * Defines the style of the web service to be generated (i.e. wrapped, document, rpc). Default=wrapped.
043     */
044    public static final String WEB_SERVICE_STYLE = "andromda_webservice_style";
045
046    /**
047     * Defines the parameter style of the web service to be generated (i.e. bare, wrapped). Default=wrapped.
048     */
049    public static final String WEB_SERVICE_PARAMETER_STYLE = "andromda_webservice_parameter_style";
050
051    /**
052     * The use of the service to be generated (i.e. literal, encoded). Default=literal.
053     */
054    public static final String WEB_SERVICE_USE = "andromda_webservice_use";
055
056    /**
057     * The provider to use for the service, by default is <code>RPC</code> which will use a plain java object as the provider. Another value
058     * that can be specified is <code>EJB</code>, if this is specified, then its expected that either the EJB or Hibernate cartridge is
059     * being used with this cartridge. Use <code>JAX-WS</code> for jaxws or cxf.
060     */
061    public static final String WEB_SERVICE_PROVIDER = "andromda_webservice_provider";
062
063    /**
064     * Service can be exposed with a different service operation name, allowing overloaded service methods.
065     * Defaults to operation.name if blank. All service names must be unique.
066     */
067    public static final String WEB_SERVICE_NAME = "andromda_webservice_operationName";
068
069    /**
070     * The WSDL SOAP Address to use for the service, by default is <code>$webserviceHost:$webservicePort/$webContext/services</code>
071     */
072    public static final String WEB_WSDL_SOAP_ADDRESS = "andromda_webservice_wsdlSoapAddress";
073
074    /**
075     * Optionally allows you to define the name of the role (if it needs to be different than the name of the actor that defines the role).
076     */
077    public static final String ROLE_NAME = "andromda_role_name";
078
079    /**
080     * XML attributeFormDefault value for package-info.java on XmlSchema stereotype. XmlNsForm=QUALIFIED, UNQUALIFIED, default=UNQUALIFIED
081     */
082    public static final String ATTRIBUTE_FORM_DEFAULT = "andromda_xml_attributeFormDefault";
083
084    /**
085     * XML elementFormDefault value for package-info.java on XmlSchema stereotype. XmlNsForm=QUALIFIED, UNQUALIFIED, default=QUALIFIED
086     */
087    public static final String ELEMENT_FORM_DEFAULT = "andromda_xml_elementFormDefault";
088
089    /**
090     * Validate the incoming web service XML against the service wsdl/xsd schema.
091     */
092    public static final String XML_SCHEMA_VALIDATION = "andromda_schema_validation";
093
094    /**
095     * XML package namespace, overrides default reversed package name.
096     */
097    public static final String XML_NAMESPACE = "andromda_xml_namespace";
098
099    /**
100     * XML package namespace abbreviation, overrides default sequentially numbered nsX. Each must be unique.
101     */
102    public static final String XML_XMLNS = "andromda_xml_xmlns";
103
104    /**
105     * XML attribute/element name, overrides default attribute/parameter name.
106     */
107    public static final String XML_NAME = "andromda_xml_name";
108
109    /**
110     * Supplies type value for @XmlAdapter Jaxb annotation for attribute or element. Overrides global default for date, time, dateTime,
111     * integer XML types
112     */
113    public static final String XML_ADAPTER = "andromda_xml_adapter";
114
115    /**
116     * Prevents the mapping of a Java type to XML.
117     */
118    public static final String XML_TRANSIENT = "andromda_xml_transient";
119
120    /**
121     * Overrides the default schema type for this property or parameter. i.e. mapping between from UML type to XML
122     */
123    public static final String XML_TYPE = "andromda_xml_type";
124
125    /**
126     * Overrides the default Jaxb simpleBindingMode for this service in wsdl2java. default=true.
127     */
128    public static final String JAXB_SIMPLE_BINDING_MODE = "andromda_jaxb_simpleBindingMode";
129
130    /**
131     * Overrides the default Jaxb XJC arguments for this service in wsdl2java.
132     */
133    public static final String JAXB_XJC_ARGUMENTS = "andromda_jaxb_xjcArguments";
134
135    /**
136     * REST: Is this a REST implementation?
137     */
138    public static final String REST = "andromda_REST";
139
140    /**
141     * REST: andromda_cache_type
142     */
143    public static final String CACHE_TYPE = "andromda_cache_type";
144
145    /**
146     * REST: andromda_REST_consumes
147     */
148    public static final String REST_CONSUMES = "andromda_REST_consumes";
149
150    /**
151     * REST: andromda_REST_context
152     */
153    public static final String REST_CONTEXT = "andromda_REST_context";
154
155    /**
156     * REST: andromda_REST_http_method
157     */
158    public static final String REST_HTTP_METHOD = "andromda_REST_http_method";
159
160    /**
161     * REST: andromda_REST_path
162     */
163    public static final String REST_PATH = "andromda_REST_path";
164
165    /**
166     * REST: andromda_REST_produces
167     */
168    public static final String REST_PRODUCES = "andromda_REST_produces";
169
170    /**
171     * REST: andromda_REST_provider
172     */
173    public static final String REST_PROVIDER = "andromda_REST_provider";
174
175    /**
176     * REST: andromda_REST_request_type
177     */
178    public static final String REST_REQUEST_TYPE = "andromda_REST_request_type";
179
180    /**
181     * REST: andromda_REST_retention
182     */
183    public static final String REST_RETENTION = "andromda_REST_retention";
184
185    /**
186     * REST: andromda_REST_target
187     */
188    public static final String REST_TARGET = "andromda_REST_target";
189
190    /**
191     * REST: andromda_REST_encoded
192     */
193    public static final String REST_ENCODED = "andromda_REST_encoded";
194
195    /**
196     * REST: andromda_REST_part_type
197     */
198    public static final String REST_PART_TYPE = "andromda_REST_part_type";
199
200    /**
201     * REST: andromda_REST_roles_allowed
202     */
203    public static final String REST_ROLES_ALLOWED = "andromda_REST_roles_allowed";
204
205    /**
206     * REST: andromda_REST_suspend
207     */
208    public static final String REST_SUSPEND = "andromda_REST_suspend";
209
210    /**
211     * REST: andromda_REST_parameter_URL
212     */
213    public static final String REST_PARAMETER_URL = "andromda_REST_parameter_URL";
214
215    /**
216     * REST: andromda_REST_param_type
217     */
218    public static final String REST_PARAM_TYPE = "andromda_REST_param_type";
219
220    /**
221     * REST: andromda_REST_path_param
222     */
223    public static final String REST_PATH_PARAM = "andromda_REST_path_param";
224
225    /**
226     * REST: andromda_REST_path_segment
227     */
228    public static final String REST_PATH_SEGMENT = "andromda_REST_path_segment";
229
230    /**
231     * Overrides the default attribute/element output for this element.
232     */
233    public static final String STEREOTYPE_XML_ATTRIBUTE = "XmlAttribute";
234
235    /**
236     * Overrides the default attribute/element output for this element.
237     */
238    public static final String STEREOTYPE_XML_ELEMENT = "XmlElement";
239
240    /**
241     * Set WebService Security in wsdl definition and service implementation.
242     */
243    public static final String STEREOTYPE_WEBSERVICE_SECURITY = "WSSecurity";
244
245    /**
246     * Security namespace abbreviation: andromda_security_abbr
247     */
248    public static final String SECURITY_ABBR = "andromda_security_abbr";
249
250    /**
251     * Security namespace URL: andromda_security_namespace
252     */
253    public static final String SECURITY_NAMESPACE = "andromda_security_namespace";
254
255    /**
256     * Security xsd location (relative reference): andromda_security_XSDlocation
257     */
258    public static final String SECURITY_XSD_LOCATION = "andromda_security_XSDlocation";
259
260    /**
261     * Security element partName: andromda_wsdl_security_partName
262     */
263    public static final String SECURITY_PARTNAME = "andromda_wsdl_security_partName";
264
265    /**
266     * Security element name reference: andromda_wsdl_security_element
267     */
268    public static final String SECURITY_ELEMENT = "andromda_wsdl_security_element";
269
270    /**
271     * Security use literal/encoded: andromda_wsdl_security_use
272     */
273    public static final String SECURITY_USE = "andromda_wsdl_security_use";
274
275    /**
276     * Set customized WebService Header in wsdl definition and service implementation.
277     */
278    public static final String STEREOTYPE_WEBSERVICE_HEADER = "WSCustomHeader";
279
280    /**
281     * Custom webservice header namespace abbreviation: andromda_header_abbr
282     */
283    public static final String HEADER_ABBR = "andromda_header_abbr";
284
285    /**
286     * Custom webservice header namespace URL: andromda_header_namespace
287     */
288    public static final String HEADER_NAMESPACE = "andromda_header_namespace";
289
290    /**
291     * Custom webservice header xsd location (relative reference): andromda_header_XSDlocation
292     */
293    public static final String HEADER_XSD_LOCATION = "andromda_header_XSDlocation";
294
295    /**
296     * Custom webservice header element partName: andromda_wsdl_header_partName
297     */
298    public static final String HEADER_PARTNAME = "andromda_wsdl_header_partName";
299
300    /**
301     * Custom webservice header element name reference: andromda_wsdl_header_element
302     */
303    public static final String HEADER_ELEMENT = "andromda_wsdl_header_element";
304
305    /**
306     * Custom webservice header use literal/encoded: andromda_wsdl_header_use
307     */
308    public static final String HEADER_USE = "andromda_wsdl_header_use";
309}