1 // license-header java merge-point 2 // 3 // Attention: generated code (by Metafacade.vsl) - do not modify! 4 // 5 package org.andromda.cartridges.spring.metafacades; 6 7 import java.util.Collection; 8 import org.andromda.metafacades.uml.Service; 9 10 /** 11 * Represents a Spring service (which can include regular java objects, and/or session EJBs). 12 * 13 * Metafacade interface to be used by AndroMDA cartridges. 14 */ 15 public interface SpringService 16 extends Service 17 { 18 /** 19 * Indicates the metafacade type (used for metafacade mappings). 20 * 21 * @return boolean always <code>true</code> 22 */ 23 public boolean isSpringServiceMetaType(); 24 25 /** 26 * The service base class name. 27 * @return String 28 */ 29 public String getBaseName(); 30 31 /** 32 * The bean name of this service. 33 * @return String 34 */ 35 public String getBeanName(); 36 37 /** 38 * Gets the Spring bean name, and optionally adds a target suffix, if 'targetSuffix' is set to 39 * true. 40 * @param targetSuffix boolean 41 * @return String 42 */ 43 public String getBeanName(boolean targetSuffix); 44 45 /** 46 * The name of the default exception to be generated for this service. 47 * @return String 48 */ 49 public String getDefaultExceptionName(); 50 51 /** 52 * This is a name of the destroy-method of this service, or is empty if doesn't exists. 53 * @return String 54 */ 55 public String getDestroyMethodName(); 56 57 /** 58 * The EJB implementation class name. 59 * @return String 60 */ 61 public String getEjbImplementationName(); 62 63 /** 64 * The JNDI name to which a Spring remote Session EJB will be bound. 65 * @return String 66 */ 67 public String getEjbJndiName(); 68 69 /** 70 * The JNDI name to which a Spring local Session EJB will be bound. 71 * @return String 72 */ 73 public String getEjbLocalJndiName(); 74 75 /** 76 * This can be either the package name the model element exists within OR it can be the package 77 * with a prefix or suffix (i.e. the package could have '.ejb') appended to it. This option is 78 * available if the EJB is just used a wrapper around a POJO Spring Service. 79 * @return String 80 */ 81 public String getEjbPackageName(); 82 83 /** 84 * The EJB package name as a path (i.e. '.' are replaced with '/'). 85 * @return String 86 */ 87 public String getEjbPackageNamePath(); 88 89 /** 90 * The EJB transaction type (Bean or Container). 91 * @return String 92 */ 93 public String getEjbTransactionType(); 94 95 /** 96 * The fully qualified service base class name. 97 * @return String 98 */ 99 public String getFullyQualifiedBaseName(); 100 101 /** 102 * The fully qualified class name of the default exception. 103 * @return String 104 */ 105 public String getFullyQualifiedDefaultExceptionName(); 106 107 /** 108 * The fully qualified name of the implementation class name. 109 * @return String 110 */ 111 public String getFullyQualifiedEjbImplementationName(); 112 113 /** 114 * TODO: Model Documentation for 115 * org.andromda.cartridges.spring.metafacades.SpringService.fullyQualifiedEjbName 116 * @return String 117 */ 118 public String getFullyQualifiedEjbName(); 119 120 /** 121 * The fully qualified name of the implementation class. 122 * @return String 123 */ 124 public String getFullyQualifiedImplementationName(); 125 126 /** 127 * TODO: Model Documentation for 128 * org.andromda.cartridges.spring.metafacades.SpringService.fullyQualifiedLocalEjbName 129 * @return String 130 */ 131 public String getFullyQualifiedLocalEjbName(); 132 133 /** 134 * The fully qualified web service delegator class name. 135 * @return String 136 */ 137 public String getFullyQualifiedWebServiceDelegatorName(); 138 139 /** 140 * The implementation name of the service 141 * @return String 142 */ 143 public String getImplementationName(); 144 145 /** 146 * This can be either the package name the model element exists within OR it can be the package 147 * with a prefix or suffix (i.e. the package could have '.impl') appended to it. 148 * @return String 149 */ 150 public String getImplementationPackageName(); 151 152 /** 153 * The service implementation package name as a path (i.e. '.' are replaced with '/'). 154 * @return String 155 */ 156 public String getImplementationPackagePath(); 157 158 /** 159 * This is a name of the init-method of this service, or is empty if doesn't exists. 160 * @return String 161 */ 162 public String getInitMethodName(); 163 164 /** 165 * TODO: Model Documentation for 166 * org.andromda.cartridges.spring.metafacades.SpringService.interceptors 167 * @return Collection<String> 168 */ 169 public Collection<String> getInterceptors(); 170 171 /** 172 * Returns the remote context for this service. 173 * @return String 174 */ 175 public String getRemoteContext(); 176 177 /** 178 * Determines which port this service will be published on at the server side. 179 * @return String 180 */ 181 public String getRemotePort(); 182 183 /** 184 * Returns the name of the remote server for this service. 185 * @return String 186 */ 187 public String getRemoteServer(); 188 189 /** 190 * The URL this servie will be run on at the server side. 191 * @return String 192 */ 193 public String getRemoteUrl(); 194 195 /** 196 * The name of the web service delegator class. 197 * @return String 198 */ 199 public String getWebServiceDelegatorName(); 200 201 /** 202 * The call to the incoming web service attachment call. 203 * @return String 204 */ 205 public String getWebServiceIncomingAttachmentHandlerCall(); 206 207 /** 208 * The operations that can be exposed in a webservice. 209 * @return Collection<SpringServiceOperation> 210 */ 211 public Collection<SpringServiceOperation> getWebServiceOperations(); 212 213 /** 214 * The call to the outgoing web service attachment call. 215 * @return String 216 */ 217 public String getWebServiceOutgoingAttachmentHandlerCall(); 218 219 /** 220 * Indicates whether or not a default service exception should be allowed. 221 * @return boolean 222 */ 223 public boolean isAllowDefaultServiceException(); 224 225 /** 226 * Defines whether this service will only be listed in the config, but note be generated as a 227 * Spring bean. 228 * @return boolean 229 */ 230 public boolean isConfigonly(); 231 232 /** 233 * TODO: Model Documentation for 234 * org.andromda.cartridges.spring.metafacades.SpringService.ejbLocalView 235 * @return boolean 236 */ 237 public boolean isEjbLocalView(); 238 239 /** 240 * Indicates if the view type of this service is remote. 241 * @return boolean 242 */ 243 public boolean isEjbRemoteView(); 244 245 /** 246 * Indicates whether or not the hibernate intercetor is enabled for this service. 247 * @return boolean 248 */ 249 public boolean isHibernateInterceptorEnabled(); 250 251 /** 252 * Returns true if the service is considered as private. Private services are not available 253 * through the ServiceLocator, are not exposed via remoting and their methods are not 254 * intercepted by transaction manager. 255 * @return boolean 256 */ 257 public boolean isPrivate(); 258 259 /** 260 * Returns true if this service is remotable. Derived from remotingType. 261 * @return boolean 262 */ 263 public boolean isRemotable(); 264 265 /** 266 * Indicates if the remoting type is "burlap". 267 * @return boolean 268 */ 269 public boolean isRemotingTypeBurlap(); 270 271 /** 272 * Indicates if the remoting type is "hessian". 273 * @return boolean 274 */ 275 public boolean isRemotingTypeHessian(); 276 277 /** 278 * Indicates if the remoting type is "httpinvoker". 279 * @return boolean 280 */ 281 public boolean isRemotingTypeHttpInvoker(); 282 283 /** 284 * Indicates whether this service can be talked to using Lingo remoting. 285 * @return boolean 286 */ 287 public boolean isRemotingTypeLingo(); 288 289 /** 290 * Indicates if the remoting type for this service is "none". 291 * @return boolean 292 */ 293 public boolean isRemotingTypeNone(); 294 295 /** 296 * Indicates if the remoting type is RMI. 297 * @return boolean 298 */ 299 public boolean isRemotingTypeRmi(); 300 301 /** 302 * Returns true if this service is meant to take part in a richt client application. 303 * @return boolean 304 */ 305 public boolean isRichClient(); 306 307 /** 308 * Returns true/false depending on whether or not this SpringService represents a web service. 309 * @return boolean 310 */ 311 public boolean isWebService(); 312 }