1 // license-header java merge-point 2 // 3 // Attention: generated code (by Metafacade.vsl) - do not modify! 4 // 5 package org.andromda.cartridges.webservice.metafacades; 6 7 import org.andromda.metafacades.uml.ServiceOperation; 8 9 /** 10 * Represents an operation on a web service. 11 * 12 * Metafacade interface to be used by AndroMDA cartridges. 13 */ 14 public interface WebServiceOperation 15 extends ServiceOperation 16 { 17 /** 18 * Indicates the metafacade type (used for metafacade mappings). 19 * 20 * @return boolean always <code>true</code> 21 */ 22 public boolean isWebServiceOperationMetaType(); 23 24 /** 25 * Returns the customized operation name. Defaults to operation.name, can be overridden with 26 * WebServiceOperation stereotype operationName attribute. Prevents duplicate operation names in 27 * wsdl for overloaded operations. 28 * @return String 29 */ 30 public String getOperationName(); 31 32 /** 33 * WebService parameter style: bare or wrapped 34 * @return String 35 */ 36 public String getParameterStyle(); 37 38 /** 39 * TODO: Model Documentation for 40 * org.andromda.cartridges.webservice.metafacades.WebServiceOperation.restCacheType 41 * @return String 42 */ 43 public String getRestCacheType(); 44 45 /** 46 * @Consumes(media type) annotation. i.e. json, atom, plain/text, xml. 47 * @return String 48 */ 49 public String getRestConsumes(); 50 51 /** 52 * Multipart/xml type for this returned part. 53 * @return String 54 */ 55 public String getRestPartType(); 56 57 /** 58 * The URL path for the REST webservice. If unspecified, the lowercase 59 * /operation/parametername/{parametername}/ is used. 60 * @return String 61 */ 62 public String getRestPath(); 63 64 /** 65 * @Produces(media type) annotation. i.e. json, atom, plain/text, xml. 66 * @return String 67 */ 68 public String getRestProduces(); 69 70 /** 71 * Customized REST @Provider annotation, must be implemented in the generated class. 72 * @return String 73 */ 74 public String getRestProvider(); 75 76 /** 77 * HTML request type for this REST service (GET, PUT, POST, QUERY, DELETE), used for method 78 * annotations. 79 * @return String 80 */ 81 public String getRestRequestType(); 82 83 /** 84 * Asynchronous service implementation, suspend execution for X ms. Adds @Suspend annotation to 85 * the operation. default=synchronous (suspend=0=wait forever). 86 * @return int 87 */ 88 public int getRestSuspend(); 89 90 /** 91 * The URL path to test the REST webservice. Substitutes test values for {parametername} parts 92 * of the service URL. 93 * @return String 94 */ 95 public String getRestTestPath(); 96 97 /** 98 * REST security roles allowed. default=All. 99 * @return String 100 */ 101 public String getRolesAllowed(); 102 103 /** 104 * The call for the test that tests this operation. 105 * @return String 106 */ 107 public String getTestCall(); 108 109 /** 110 * The method call for the test implementation operation. 111 * @return String 112 */ 113 public String getTestImplementationCall(); 114 115 /** 116 * The name of the the operation used within the test implementation. 117 * @return String 118 */ 119 public String getTestImplementationName(); 120 121 /** 122 * The signature for the test implementation operation. 123 * @return String 124 */ 125 public String getTestImplementationSignature(); 126 127 /** 128 * The name for the test that tests this operation. 129 * @return String 130 */ 131 public String getTestName(); 132 133 /** 134 * The signature for the test that tests this operation. 135 * @return String 136 */ 137 public String getTestSignature(); 138 139 /** 140 * TODO: Model Documentation for 141 * WebServicePackage 142 * @return WebServicePackage 143 */ 144 public WebServicePackage getWebServicePackage(); 145 146 /** 147 * Returns true/false depending on whether or not this web service operation is exposed. 148 * @return boolean 149 */ 150 public boolean isExposed(); 151 152 /** 153 * Is this operation a JAX-RS REST operation? JAX-WS and JAX-RS can be mixed in the same service 154 * class. If false, all rest attributes and methods are ignored. 155 * @return boolean 156 */ 157 public boolean isRest(); 158 159 /** 160 * If this REST service provides application/atom, or any service operations provide 161 * application/atom 162 * @return boolean 163 */ 164 public boolean isRestAtom(); 165 166 /** 167 * @Encoded T/F. default=false. 168 * @return boolean 169 */ 170 public boolean isRestEncoded(); 171 172 /** 173 * Checks is each service exception reference is some Exception type and has stereotype 174 * WebFault, if CXF. 175 * @return boolean 176 */ 177 public boolean isWebFaultOnAllExceptions(); 178 }