001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.cartridges.webservice.metafacades; 006 007import org.andromda.metafacades.uml.ServiceOperation; 008 009/** 010 * Represents an operation on a web service. 011 * 012 * Metafacade interface to be used by AndroMDA cartridges. 013 */ 014public interface WebServiceOperation 015 extends ServiceOperation 016{ 017 /** 018 * Indicates the metafacade type (used for metafacade mappings). 019 * 020 * @return boolean always <code>true</code> 021 */ 022 public boolean isWebServiceOperationMetaType(); 023 024 /** 025 * Returns the customized operation name. Defaults to operation.name, can be overridden with 026 * WebServiceOperation stereotype operationName attribute. Prevents duplicate operation names in 027 * wsdl for overloaded operations. 028 * @return String 029 */ 030 public String getOperationName(); 031 032 /** 033 * WebService parameter style: bare or wrapped 034 * @return String 035 */ 036 public String getParameterStyle(); 037 038 /** 039 * TODO: Model Documentation for 040 * org.andromda.cartridges.webservice.metafacades.WebServiceOperation.restCacheType 041 * @return String 042 */ 043 public String getRestCacheType(); 044 045 /** 046 * @Consumes(media type) annotation. i.e. json, atom, plain/text, xml. 047 * @return String 048 */ 049 public String getRestConsumes(); 050 051 /** 052 * Multipart/xml type for this returned part. 053 * @return String 054 */ 055 public String getRestPartType(); 056 057 /** 058 * The URL path for the REST webservice. If unspecified, the lowercase 059 * /operation/parametername/{parametername}/ is used. 060 * @return String 061 */ 062 public String getRestPath(); 063 064 /** 065 * @Produces(media type) annotation. i.e. json, atom, plain/text, xml. 066 * @return String 067 */ 068 public String getRestProduces(); 069 070 /** 071 * Customized REST @Provider annotation, must be implemented in the generated class. 072 * @return String 073 */ 074 public String getRestProvider(); 075 076 /** 077 * HTML request type for this REST service (GET, PUT, POST, QUERY, DELETE), used for method 078 * annotations. 079 * @return String 080 */ 081 public String getRestRequestType(); 082 083 /** 084 * Asynchronous service implementation, suspend execution for X ms. Adds @Suspend annotation to 085 * the operation. default=synchronous (suspend=0=wait forever). 086 * @return int 087 */ 088 public int getRestSuspend(); 089 090 /** 091 * The URL path to test the REST webservice. Substitutes test values for {parametername} parts 092 * of the service URL. 093 * @return String 094 */ 095 public String getRestTestPath(); 096 097 /** 098 * REST security roles allowed. default=All. 099 * @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}