001// license-header java merge-point 002// 003// Attention: generated code (by MetafacadeLogic.vsl) - do not modify! 004// 005package org.andromda.cartridges.ejb3.metafacades; 006 007import java.util.Collection; 008import java.util.List; 009import org.andromda.core.common.Introspector; 010import org.andromda.core.metafacade.MetafacadeBase; 011import org.andromda.core.metafacade.MetafacadeFactory; 012import org.andromda.core.metafacade.ModelValidationMessage; 013import org.andromda.metafacades.uml.ClassifierFacade; 014import org.andromda.metafacades.uml.ConstraintFacade; 015import org.andromda.metafacades.uml.DependencyFacade; 016import org.andromda.metafacades.uml.Destination; 017import org.andromda.metafacades.uml.ModelElementFacade; 018import org.andromda.metafacades.uml.ModelFacade; 019import org.andromda.metafacades.uml.OperationFacade; 020import org.andromda.metafacades.uml.PackageFacade; 021import org.andromda.metafacades.uml.ParameterFacade; 022import org.andromda.metafacades.uml.Role; 023import org.andromda.metafacades.uml.Service; 024import org.andromda.metafacades.uml.ServiceOperation; 025import org.andromda.metafacades.uml.StateMachineFacade; 026import org.andromda.metafacades.uml.StereotypeFacade; 027import org.andromda.metafacades.uml.TaggedValueFacade; 028import org.andromda.metafacades.uml.TemplateParameterFacade; 029import org.andromda.metafacades.uml.TypeMappings; 030import org.apache.log4j.Logger; 031 032/** 033 * TODO: Model Documentation for org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade 034 * MetafacadeLogic for EJB3SessionOperationFacade 035 * 036 * @see EJB3SessionOperationFacade 037 */ 038public abstract class EJB3SessionOperationFacadeLogic 039 extends MetafacadeBase 040 implements EJB3SessionOperationFacade 041{ 042 /** 043 * The underlying UML object 044 * @see Object 045 */ 046 protected Object metaObject; 047 048 /** Create Metafacade implementation instance using the MetafacadeFactory from the context 049 * @param metaObjectIn 050 * @param context 051 */ 052 protected EJB3SessionOperationFacadeLogic(Object metaObjectIn, String context) 053 { 054 super(metaObjectIn, getContext(context)); 055 this.superServiceOperation = 056 (ServiceOperation) 057 MetafacadeFactory.getInstance().createFacadeImpl( 058 "org.andromda.metafacades.uml.ServiceOperation", 059 metaObjectIn, 060 getContext(context)); 061 this.metaObject = metaObjectIn; 062 } 063 064 /** 065 * The logger instance. 066 */ 067 private static final Logger logger = Logger.getLogger(EJB3SessionOperationFacadeLogic.class); 068 069 /** 070 * Gets the context for this metafacade logic instance. 071 * @param context String. Set to EJB3SessionOperationFacade if null 072 * @return context String 073 */ 074 private static String getContext(String context) 075 { 076 if (context == null) 077 { 078 context = "org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade"; 079 } 080 return context; 081 } 082 083 private ServiceOperation superServiceOperation; 084 private boolean superServiceOperationInitialized = false; 085 086 /** 087 * Gets the ServiceOperation parent instance. 088 * @return this.superServiceOperation ServiceOperation 089 */ 090 private ServiceOperation getSuperServiceOperation() 091 { 092 if (!this.superServiceOperationInitialized) 093 { 094 ((MetafacadeBase)this.superServiceOperation).setMetafacadeContext(this.getMetafacadeContext()); 095 this.superServiceOperationInitialized = true; 096 } 097 return this.superServiceOperation; 098 } 099 100 /** Reset context only for non-root metafacades 101 * @param context 102 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context) 103 */ 104 @Override 105 public void resetMetafacadeContext(String context) 106 { 107 if (!this.contextRoot) // reset context only for non-root metafacades 108 { 109 context = getContext(context); // to have same value as in original constructor call 110 setMetafacadeContext (context); 111 if (this.superServiceOperationInitialized) 112 { 113 ((MetafacadeBase)this.superServiceOperation).resetMetafacadeContext(context); 114 } 115 } 116 } 117 118 /** 119 * @return boolean true always 120 * @see EJB3SessionOperationFacade 121 */ 122 public boolean isEJB3SessionOperationFacadeMetaType() 123 { 124 return true; 125 } 126 127 // --------------- attributes --------------------- 128 129 /** 130 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getViewType() 131 * @return String 132 */ 133 protected abstract String handleGetViewType(); 134 135 private String __viewType1a; 136 private boolean __viewType1aSet = false; 137 138 /** 139 * Returns a string representing whether this operation is local, remotely or both local and 140 * remotely accessible. This overrides the default from the session bean view type. 141 * @return (String)handleGetViewType() 142 */ 143 public final String getViewType() 144 { 145 String viewType1a = this.__viewType1a; 146 if (!this.__viewType1aSet) 147 { 148 // viewType has no pre constraints 149 viewType1a = handleGetViewType(); 150 // viewType has no post constraints 151 this.__viewType1a = viewType1a; 152 if (isMetafacadePropertyCachingEnabled()) 153 { 154 this.__viewType1aSet = true; 155 } 156 } 157 return viewType1a; 158 } 159 160 /** 161 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeRemote() 162 * @return boolean 163 */ 164 protected abstract boolean handleIsViewTypeRemote(); 165 166 private boolean __viewTypeRemote2a; 167 private boolean __viewTypeRemote2aSet = false; 168 169 /** 170 * Returns true if the view type accessability for the operation is remote. 171 * @return (boolean)handleIsViewTypeRemote() 172 */ 173 public final boolean isViewTypeRemote() 174 { 175 boolean viewTypeRemote2a = this.__viewTypeRemote2a; 176 if (!this.__viewTypeRemote2aSet) 177 { 178 // viewTypeRemote has no pre constraints 179 viewTypeRemote2a = handleIsViewTypeRemote(); 180 // viewTypeRemote has no post constraints 181 this.__viewTypeRemote2a = viewTypeRemote2a; 182 if (isMetafacadePropertyCachingEnabled()) 183 { 184 this.__viewTypeRemote2aSet = true; 185 } 186 } 187 return viewTypeRemote2a; 188 } 189 190 /** 191 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeLocal() 192 * @return boolean 193 */ 194 protected abstract boolean handleIsViewTypeLocal(); 195 196 private boolean __viewTypeLocal3a; 197 private boolean __viewTypeLocal3aSet = false; 198 199 /** 200 * Return true if the view type accessability for this operation is local. 201 * @return (boolean)handleIsViewTypeLocal() 202 */ 203 public final boolean isViewTypeLocal() 204 { 205 boolean viewTypeLocal3a = this.__viewTypeLocal3a; 206 if (!this.__viewTypeLocal3aSet) 207 { 208 // viewTypeLocal has no pre constraints 209 viewTypeLocal3a = handleIsViewTypeLocal(); 210 // viewTypeLocal has no post constraints 211 this.__viewTypeLocal3a = viewTypeLocal3a; 212 if (isMetafacadePropertyCachingEnabled()) 213 { 214 this.__viewTypeLocal3aSet = true; 215 } 216 } 217 return viewTypeLocal3a; 218 } 219 220 /** 221 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeBoth() 222 * @return boolean 223 */ 224 protected abstract boolean handleIsViewTypeBoth(); 225 226 private boolean __viewTypeBoth4a; 227 private boolean __viewTypeBoth4aSet = false; 228 229 /** 230 * Returns true if the view type accessability for this operation is both local and remote. 231 * @return (boolean)handleIsViewTypeBoth() 232 */ 233 public final boolean isViewTypeBoth() 234 { 235 boolean viewTypeBoth4a = this.__viewTypeBoth4a; 236 if (!this.__viewTypeBoth4aSet) 237 { 238 // viewTypeBoth has no pre constraints 239 viewTypeBoth4a = handleIsViewTypeBoth(); 240 // viewTypeBoth has no post constraints 241 this.__viewTypeBoth4a = viewTypeBoth4a; 242 if (isMetafacadePropertyCachingEnabled()) 243 { 244 this.__viewTypeBoth4aSet = true; 245 } 246 } 247 return viewTypeBoth4a; 248 } 249 250 /** 251 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getTransactionType() 252 * @return String 253 */ 254 protected abstract String handleGetTransactionType(); 255 256 private String __transactionType5a; 257 private boolean __transactionType5aSet = false; 258 259 /** 260 * Gets the transaction type for this attribute (i.e. REQUIRED, etc) 261 * @return (String)handleGetTransactionType() 262 */ 263 public final String getTransactionType() 264 { 265 String transactionType5a = this.__transactionType5a; 266 if (!this.__transactionType5aSet) 267 { 268 // transactionType has no pre constraints 269 transactionType5a = handleGetTransactionType(); 270 // transactionType has no post constraints 271 this.__transactionType5a = transactionType5a; 272 if (isMetafacadePropertyCachingEnabled()) 273 { 274 this.__transactionType5aSet = true; 275 } 276 } 277 return transactionType5a; 278 } 279 280 /** 281 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isBusinessOperation() 282 * @return boolean 283 */ 284 protected abstract boolean handleIsBusinessOperation(); 285 286 private boolean __businessOperation6a; 287 private boolean __businessOperation6aSet = false; 288 289 /** 290 * True/false on whether or not this operation is an EJB session business operation. 291 * @return (boolean)handleIsBusinessOperation() 292 */ 293 public final boolean isBusinessOperation() 294 { 295 boolean businessOperation6a = this.__businessOperation6a; 296 if (!this.__businessOperation6aSet) 297 { 298 // businessOperation has no pre constraints 299 businessOperation6a = handleIsBusinessOperation(); 300 // businessOperation has no post constraints 301 this.__businessOperation6a = businessOperation6a; 302 if (isMetafacadePropertyCachingEnabled()) 303 { 304 this.__businessOperation6aSet = true; 305 } 306 } 307 return businessOperation6a; 308 } 309 310 /** 311 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getRolesAllowed() 312 * @return String 313 */ 314 protected abstract String handleGetRolesAllowed(); 315 316 private String __rolesAllowed7a; 317 private boolean __rolesAllowed7aSet = false; 318 319 /** 320 * Returns the comma separated list of roles allowd to execute this operation. This is defined 321 * by actor dependencies. 322 * @return (String)handleGetRolesAllowed() 323 */ 324 public final String getRolesAllowed() 325 { 326 String rolesAllowed7a = this.__rolesAllowed7a; 327 if (!this.__rolesAllowed7aSet) 328 { 329 // rolesAllowed has no pre constraints 330 rolesAllowed7a = handleGetRolesAllowed(); 331 // rolesAllowed has no post constraints 332 this.__rolesAllowed7a = rolesAllowed7a; 333 if (isMetafacadePropertyCachingEnabled()) 334 { 335 this.__rolesAllowed7aSet = true; 336 } 337 } 338 return rolesAllowed7a; 339 } 340 341 /** 342 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isPermitAll() 343 * @return boolean 344 */ 345 protected abstract boolean handleIsPermitAll(); 346 347 private boolean __permitAll8a; 348 private boolean __permitAll8aSet = false; 349 350 /** 351 * Returns true if all roles are permitted to execute this operation. This is specified in the 352 * andromda.ejb.security.permitAll tagged value. It will override the 353 * andromda.ejb.security.rolesAllowed tagged value. 354 * @return (boolean)handleIsPermitAll() 355 */ 356 public final boolean isPermitAll() 357 { 358 boolean permitAll8a = this.__permitAll8a; 359 if (!this.__permitAll8aSet) 360 { 361 // permitAll has no pre constraints 362 permitAll8a = handleIsPermitAll(); 363 // permitAll has no post constraints 364 this.__permitAll8a = permitAll8a; 365 if (isMetafacadePropertyCachingEnabled()) 366 { 367 this.__permitAll8aSet = true; 368 } 369 } 370 return permitAll8a; 371 } 372 373 /** 374 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isDenyAll() 375 * @return boolean 376 */ 377 protected abstract boolean handleIsDenyAll(); 378 379 private boolean __denyAll9a; 380 private boolean __denyAll9aSet = false; 381 382 /** 383 * Returns true if NO roles are permitted to execute this operation in this bean. This is 384 * specified in the andromda.ejb.security.denyAll tagged value. 385 * @return (boolean)handleIsDenyAll() 386 */ 387 public final boolean isDenyAll() 388 { 389 boolean denyAll9a = this.__denyAll9a; 390 if (!this.__denyAll9aSet) 391 { 392 // denyAll has no pre constraints 393 denyAll9a = handleIsDenyAll(); 394 // denyAll has no post constraints 395 this.__denyAll9a = denyAll9a; 396 if (isMetafacadePropertyCachingEnabled()) 397 { 398 this.__denyAll9aSet = true; 399 } 400 } 401 return denyAll9a; 402 } 403 404 /** 405 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getFlushMode() 406 * @return String 407 */ 408 protected abstract String handleGetFlushMode(); 409 410 private String __flushMode10a; 411 private boolean __flushMode10aSet = false; 412 413 /** 414 * Return the flush mode to determine when the changes to the database are performed in the 415 * application transaction. This is typically set on a Stateful session bean where a 416 * transaction span several methods and the database update is only required upon completion of 417 * the final method. 418 * @return (String)handleGetFlushMode() 419 */ 420 public final String getFlushMode() 421 { 422 String flushMode10a = this.__flushMode10a; 423 if (!this.__flushMode10aSet) 424 { 425 // flushMode has no pre constraints 426 flushMode10a = handleGetFlushMode(); 427 // flushMode has no post constraints 428 this.__flushMode10a = flushMode10a; 429 if (isMetafacadePropertyCachingEnabled()) 430 { 431 this.__flushMode10aSet = true; 432 } 433 } 434 return flushMode10a; 435 } 436 437 /** 438 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getThrowsClause() 439 * @return String 440 */ 441 protected abstract String handleGetThrowsClause(); 442 443 private String __throwsClause11a; 444 private boolean __throwsClause11aSet = false; 445 446 /** 447 * Gets the throws clause for this service or null if the operation doesn't have any exceptions. 448 * @return (String)handleGetThrowsClause() 449 */ 450 public final String getThrowsClause() 451 { 452 String throwsClause11a = this.__throwsClause11a; 453 if (!this.__throwsClause11aSet) 454 { 455 // throwsClause has no pre constraints 456 throwsClause11a = handleGetThrowsClause(); 457 // throwsClause has no post constraints 458 this.__throwsClause11a = throwsClause11a; 459 if (isMetafacadePropertyCachingEnabled()) 460 { 461 this.__throwsClause11aSet = true; 462 } 463 } 464 return throwsClause11a; 465 } 466 467 /** 468 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isTimeoutCallback() 469 * @return boolean 470 */ 471 protected abstract boolean handleIsTimeoutCallback(); 472 473 private boolean __timeoutCallback12a; 474 private boolean __timeoutCallback12aSet = false; 475 476 /** 477 * Returns true if the Timeout stereotype is modelled on the session bean operation. This will 478 * associate the operation as a timeout callback with the Timer Service. It does not setup the 479 * timer. 480 * @return (boolean)handleIsTimeoutCallback() 481 */ 482 public final boolean isTimeoutCallback() 483 { 484 boolean timeoutCallback12a = this.__timeoutCallback12a; 485 if (!this.__timeoutCallback12aSet) 486 { 487 // timeoutCallback has no pre constraints 488 timeoutCallback12a = handleIsTimeoutCallback(); 489 // timeoutCallback has no post constraints 490 this.__timeoutCallback12a = timeoutCallback12a; 491 if (isMetafacadePropertyCachingEnabled()) 492 { 493 this.__timeoutCallback12aSet = true; 494 } 495 } 496 return timeoutCallback12a; 497 } 498 499 /** 500 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getImplementationName() 501 * @return String 502 */ 503 protected abstract String handleGetImplementationName(); 504 505 private String __implementationName13a; 506 private boolean __implementationName13aSet = false; 507 508 /** 509 * The name of the operation used within the service implementation that contains the core 510 * logic. 511 * @return (String)handleGetImplementationName() 512 */ 513 public final String getImplementationName() 514 { 515 String implementationName13a = this.__implementationName13a; 516 if (!this.__implementationName13aSet) 517 { 518 // implementationName has no pre constraints 519 implementationName13a = handleGetImplementationName(); 520 // implementationName has no post constraints 521 this.__implementationName13a = implementationName13a; 522 if (isMetafacadePropertyCachingEnabled()) 523 { 524 this.__implementationName13aSet = true; 525 } 526 } 527 return implementationName13a; 528 } 529 530 /** 531 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getImplementationCall() 532 * @return String 533 */ 534 protected abstract String handleGetImplementationCall(); 535 536 private String __implementationCall14a; 537 private boolean __implementationCall14aSet = false; 538 539 /** 540 * The method call for the implementation operation. 541 * @return (String)handleGetImplementationCall() 542 */ 543 public final String getImplementationCall() 544 { 545 String implementationCall14a = this.__implementationCall14a; 546 if (!this.__implementationCall14aSet) 547 { 548 // implementationCall has no pre constraints 549 implementationCall14a = handleGetImplementationCall(); 550 // implementationCall has no post constraints 551 this.__implementationCall14a = implementationCall14a; 552 if (isMetafacadePropertyCachingEnabled()) 553 { 554 this.__implementationCall14aSet = true; 555 } 556 } 557 return implementationCall14a; 558 } 559 560 /** 561 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getImplementationSignature() 562 * @return String 563 */ 564 protected abstract String handleGetImplementationSignature(); 565 566 private String __implementationSignature15a; 567 private boolean __implementationSignature15aSet = false; 568 569 /** 570 * The signature of the implementation operation. 571 * @return (String)handleGetImplementationSignature() 572 */ 573 public final String getImplementationSignature() 574 { 575 String implementationSignature15a = this.__implementationSignature15a; 576 if (!this.__implementationSignature15aSet) 577 { 578 // implementationSignature has no pre constraints 579 implementationSignature15a = handleGetImplementationSignature(); 580 // implementationSignature has no post constraints 581 this.__implementationSignature15a = implementationSignature15a; 582 if (isMetafacadePropertyCachingEnabled()) 583 { 584 this.__implementationSignature15aSet = true; 585 } 586 } 587 return implementationSignature15a; 588 } 589 590 /** 591 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getInterceptorReferences() 592 * @return Collection 593 */ 594 protected abstract Collection handleGetInterceptorReferences(); 595 596 private Collection __interceptorReferences16a; 597 private boolean __interceptorReferences16aSet = false; 598 599 /** 600 * Returns the Collection of target elements from the service bean method where the target 601 * class has a stereotype of Interceptor. 602 * @return (Collection)handleGetInterceptorReferences() 603 */ 604 public final Collection getInterceptorReferences() 605 { 606 Collection interceptorReferences16a = this.__interceptorReferences16a; 607 if (!this.__interceptorReferences16aSet) 608 { 609 // interceptorReferences has no pre constraints 610 interceptorReferences16a = handleGetInterceptorReferences(); 611 // interceptorReferences has no post constraints 612 this.__interceptorReferences16a = interceptorReferences16a; 613 if (isMetafacadePropertyCachingEnabled()) 614 { 615 this.__interceptorReferences16aSet = true; 616 } 617 } 618 return interceptorReferences16a; 619 } 620 621 /** 622 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isExcludeDefaultInterceptors() 623 * @return boolean 624 */ 625 protected abstract boolean handleIsExcludeDefaultInterceptors(); 626 627 private boolean __excludeDefaultInterceptors17a; 628 private boolean __excludeDefaultInterceptors17aSet = false; 629 630 /** 631 * Determines whether to exclude the invocation of the default interceptors for the applied 632 * business method. 633 * @return (boolean)handleIsExcludeDefaultInterceptors() 634 */ 635 public final boolean isExcludeDefaultInterceptors() 636 { 637 boolean excludeDefaultInterceptors17a = this.__excludeDefaultInterceptors17a; 638 if (!this.__excludeDefaultInterceptors17aSet) 639 { 640 // excludeDefaultInterceptors has no pre constraints 641 excludeDefaultInterceptors17a = handleIsExcludeDefaultInterceptors(); 642 // excludeDefaultInterceptors has no post constraints 643 this.__excludeDefaultInterceptors17a = excludeDefaultInterceptors17a; 644 if (isMetafacadePropertyCachingEnabled()) 645 { 646 this.__excludeDefaultInterceptors17aSet = true; 647 } 648 } 649 return excludeDefaultInterceptors17a; 650 } 651 652 /** 653 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isExcludeClassInterceptors() 654 * @return boolean 655 */ 656 protected abstract boolean handleIsExcludeClassInterceptors(); 657 658 private boolean __excludeClassInterceptors18a; 659 private boolean __excludeClassInterceptors18aSet = false; 660 661 /** 662 * Specifies whether to exclude the invocation of the class interceptors for the applied 663 * business method. 664 * @return (boolean)handleIsExcludeClassInterceptors() 665 */ 666 public final boolean isExcludeClassInterceptors() 667 { 668 boolean excludeClassInterceptors18a = this.__excludeClassInterceptors18a; 669 if (!this.__excludeClassInterceptors18aSet) 670 { 671 // excludeClassInterceptors has no pre constraints 672 excludeClassInterceptors18a = handleIsExcludeClassInterceptors(); 673 // excludeClassInterceptors has no post constraints 674 this.__excludeClassInterceptors18a = excludeClassInterceptors18a; 675 if (isMetafacadePropertyCachingEnabled()) 676 { 677 this.__excludeClassInterceptors18aSet = true; 678 } 679 } 680 return excludeClassInterceptors18a; 681 } 682 683 /** 684 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isPostConstruct() 685 * @return boolean 686 */ 687 protected abstract boolean handleIsPostConstruct(); 688 689 private boolean __postConstruct19a; 690 private boolean __postConstruct19aSet = false; 691 692 /** 693 * Returns true if the associated operation has the <<PostConstruct>> stereotype. 694 * NOTE: The method signature must return void and have no args. 695 * @return (boolean)handleIsPostConstruct() 696 */ 697 public final boolean isPostConstruct() 698 { 699 boolean postConstruct19a = this.__postConstruct19a; 700 if (!this.__postConstruct19aSet) 701 { 702 // postConstruct has no pre constraints 703 postConstruct19a = handleIsPostConstruct(); 704 // postConstruct has no post constraints 705 this.__postConstruct19a = postConstruct19a; 706 if (isMetafacadePropertyCachingEnabled()) 707 { 708 this.__postConstruct19aSet = true; 709 } 710 } 711 return postConstruct19a; 712 } 713 714 /** 715 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isPreDestroy() 716 * @return boolean 717 */ 718 protected abstract boolean handleIsPreDestroy(); 719 720 private boolean __preDestroy20a; 721 private boolean __preDestroy20aSet = false; 722 723 /** 724 * Returns true if the associated operation has the <<PreDestroy>> stereotype. 725 * NOTE: The method signature must return void and have no args. 726 * @return (boolean)handleIsPreDestroy() 727 */ 728 public final boolean isPreDestroy() 729 { 730 boolean preDestroy20a = this.__preDestroy20a; 731 if (!this.__preDestroy20aSet) 732 { 733 // preDestroy has no pre constraints 734 preDestroy20a = handleIsPreDestroy(); 735 // preDestroy has no post constraints 736 this.__preDestroy20a = preDestroy20a; 737 if (isMetafacadePropertyCachingEnabled()) 738 { 739 this.__preDestroy20aSet = true; 740 } 741 } 742 return preDestroy20a; 743 } 744 745 /** 746 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isPostActivate() 747 * @return boolean 748 */ 749 protected abstract boolean handleIsPostActivate(); 750 751 private boolean __postActivate21a; 752 private boolean __postActivate21aSet = false; 753 754 /** 755 * Returns true if the associated operation has the <<PostActivate>> stereotype. 756 * This is only applicable for operations in a stateful session bean. 757 * NOTE: The method signature must return void and have no args. 758 * @return (boolean)handleIsPostActivate() 759 */ 760 public final boolean isPostActivate() 761 { 762 boolean postActivate21a = this.__postActivate21a; 763 if (!this.__postActivate21aSet) 764 { 765 // postActivate has no pre constraints 766 postActivate21a = handleIsPostActivate(); 767 // postActivate has no post constraints 768 this.__postActivate21a = postActivate21a; 769 if (isMetafacadePropertyCachingEnabled()) 770 { 771 this.__postActivate21aSet = true; 772 } 773 } 774 return postActivate21a; 775 } 776 777 /** 778 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isPrePassivate() 779 * @return boolean 780 */ 781 protected abstract boolean handleIsPrePassivate(); 782 783 private boolean __prePassivate22a; 784 private boolean __prePassivate22aSet = false; 785 786 /** 787 * Returns true if the associated operation has the <<PrePassivate>> stereotype. 788 * This is only applicable for operations in a stateful session bean. 789 * NOTE: The method signature must return void and have no args. 790 * @return (boolean)handleIsPrePassivate() 791 */ 792 public final boolean isPrePassivate() 793 { 794 boolean prePassivate22a = this.__prePassivate22a; 795 if (!this.__prePassivate22aSet) 796 { 797 // prePassivate has no pre constraints 798 prePassivate22a = handleIsPrePassivate(); 799 // prePassivate has no post constraints 800 this.__prePassivate22a = prePassivate22a; 801 if (isMetafacadePropertyCachingEnabled()) 802 { 803 this.__prePassivate22aSet = true; 804 } 805 } 806 return prePassivate22a; 807 } 808 809 /** 810 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isLifecycleCallback() 811 * @return boolean 812 */ 813 protected abstract boolean handleIsLifecycleCallback(); 814 815 private boolean __lifecycleCallback23a; 816 private boolean __lifecycleCallback23aSet = false; 817 818 /** 819 * Returns true if this operation is marked with any of the lifecycle callback stereotypes like 820 * PostCostructs, PreDestroy etc. 821 * @return (boolean)handleIsLifecycleCallback() 822 */ 823 public final boolean isLifecycleCallback() 824 { 825 boolean lifecycleCallback23a = this.__lifecycleCallback23a; 826 if (!this.__lifecycleCallback23aSet) 827 { 828 // lifecycleCallback has no pre constraints 829 lifecycleCallback23a = handleIsLifecycleCallback(); 830 // lifecycleCallback has no post constraints 831 this.__lifecycleCallback23a = lifecycleCallback23a; 832 if (isMetafacadePropertyCachingEnabled()) 833 { 834 this.__lifecycleCallback23aSet = true; 835 } 836 } 837 return lifecycleCallback23a; 838 } 839 840 /** 841 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamValidationValidator() 842 * @return boolean 843 */ 844 protected abstract boolean handleIsSeamValidationValidator(); 845 846 private boolean __seamValidationValidator24a; 847 private boolean __seamValidationValidator24aSet = false; 848 849 /** 850 * Returns true if the <<Validator>> stereotype is modelled on this operation and the session 851 * bean is a Seam component. 852 * @return (boolean)handleIsSeamValidationValidator() 853 */ 854 public final boolean isSeamValidationValidator() 855 { 856 boolean seamValidationValidator24a = this.__seamValidationValidator24a; 857 if (!this.__seamValidationValidator24aSet) 858 { 859 // seamValidationValidator has no pre constraints 860 seamValidationValidator24a = handleIsSeamValidationValidator(); 861 // seamValidationValidator has no post constraints 862 this.__seamValidationValidator24a = seamValidationValidator24a; 863 if (isMetafacadePropertyCachingEnabled()) 864 { 865 this.__seamValidationValidator24aSet = true; 866 } 867 } 868 return seamValidationValidator24a; 869 } 870 871 /** 872 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamValidationOutcome() 873 * @return String 874 */ 875 protected abstract String handleGetSeamValidationOutcome(); 876 877 private String __seamValidationOutcome25a; 878 private boolean __seamValidationOutcome25aSet = false; 879 880 /** 881 * Returns the JSF outcome when validation fails, set using andromda.seam.validation.outcome. 882 * @return (String)handleGetSeamValidationOutcome() 883 */ 884 public final String getSeamValidationOutcome() 885 { 886 String seamValidationOutcome25a = this.__seamValidationOutcome25a; 887 if (!this.__seamValidationOutcome25aSet) 888 { 889 // seamValidationOutcome has no pre constraints 890 seamValidationOutcome25a = handleGetSeamValidationOutcome(); 891 // seamValidationOutcome has no post constraints 892 this.__seamValidationOutcome25a = seamValidationOutcome25a; 893 if (isMetafacadePropertyCachingEnabled()) 894 { 895 this.__seamValidationOutcome25aSet = true; 896 } 897 } 898 return seamValidationOutcome25a; 899 } 900 901 /** 902 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamValidationRefreshEntities() 903 * @return boolean 904 */ 905 protected abstract boolean handleIsSeamValidationRefreshEntities(); 906 907 private boolean __seamValidationRefreshEntities26a; 908 private boolean __seamValidationRefreshEntities26aSet = false; 909 910 /** 911 * Returns true if the andromda.seam.validation.refreshEntities is modelled on the operation as 912 * true to indicate that any invalid entities in the managed state should be refreshed from the 913 * database when validation fails. 914 * @return (boolean)handleIsSeamValidationRefreshEntities() 915 */ 916 public final boolean isSeamValidationRefreshEntities() 917 { 918 boolean seamValidationRefreshEntities26a = this.__seamValidationRefreshEntities26a; 919 if (!this.__seamValidationRefreshEntities26aSet) 920 { 921 // seamValidationRefreshEntities has no pre constraints 922 seamValidationRefreshEntities26a = handleIsSeamValidationRefreshEntities(); 923 // seamValidationRefreshEntities has no post constraints 924 this.__seamValidationRefreshEntities26a = seamValidationRefreshEntities26a; 925 if (isMetafacadePropertyCachingEnabled()) 926 { 927 this.__seamValidationRefreshEntities26aSet = true; 928 } 929 } 930 return seamValidationRefreshEntities26a; 931 } 932 933 /** 934 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeStrictlyLocal() 935 * @return boolean 936 */ 937 protected abstract boolean handleIsViewTypeStrictlyLocal(); 938 939 private boolean __viewTypeStrictlyLocal27a; 940 private boolean __viewTypeStrictlyLocal27aSet = false; 941 942 /** 943 * Returns true if the operation view type was explicitly set to local view using tagged value. 944 * @return (boolean)handleIsViewTypeStrictlyLocal() 945 */ 946 public final boolean isViewTypeStrictlyLocal() 947 { 948 boolean viewTypeStrictlyLocal27a = this.__viewTypeStrictlyLocal27a; 949 if (!this.__viewTypeStrictlyLocal27aSet) 950 { 951 // viewTypeStrictlyLocal has no pre constraints 952 viewTypeStrictlyLocal27a = handleIsViewTypeStrictlyLocal(); 953 // viewTypeStrictlyLocal has no post constraints 954 this.__viewTypeStrictlyLocal27a = viewTypeStrictlyLocal27a; 955 if (isMetafacadePropertyCachingEnabled()) 956 { 957 this.__viewTypeStrictlyLocal27aSet = true; 958 } 959 } 960 return viewTypeStrictlyLocal27a; 961 } 962 963 /** 964 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeStrictlyRemote() 965 * @return boolean 966 */ 967 protected abstract boolean handleIsViewTypeStrictlyRemote(); 968 969 private boolean __viewTypeStrictlyRemote28a; 970 private boolean __viewTypeStrictlyRemote28aSet = false; 971 972 /** 973 * Returns true if the operation view type was explicitly set to remote view using tagged value. 974 * @return (boolean)handleIsViewTypeStrictlyRemote() 975 */ 976 public final boolean isViewTypeStrictlyRemote() 977 { 978 boolean viewTypeStrictlyRemote28a = this.__viewTypeStrictlyRemote28a; 979 if (!this.__viewTypeStrictlyRemote28aSet) 980 { 981 // viewTypeStrictlyRemote has no pre constraints 982 viewTypeStrictlyRemote28a = handleIsViewTypeStrictlyRemote(); 983 // viewTypeStrictlyRemote has no post constraints 984 this.__viewTypeStrictlyRemote28a = viewTypeStrictlyRemote28a; 985 if (isMetafacadePropertyCachingEnabled()) 986 { 987 this.__viewTypeStrictlyRemote28aSet = true; 988 } 989 } 990 return viewTypeStrictlyRemote28a; 991 } 992 993 /** 994 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeAbsoluteLocal() 995 * @return boolean 996 */ 997 protected abstract boolean handleIsViewTypeAbsoluteLocal(); 998 999 private boolean __viewTypeAbsoluteLocal29a; 1000 private boolean __viewTypeAbsoluteLocal29aSet = false; 1001 1002 /** 1003 * Return true if the view type of the operation is local after examing all aspects of the owner 1004 * and operation. This is used to determine if operation is included in local interface. 1005 * @return (boolean)handleIsViewTypeAbsoluteLocal() 1006 */ 1007 public final boolean isViewTypeAbsoluteLocal() 1008 { 1009 boolean viewTypeAbsoluteLocal29a = this.__viewTypeAbsoluteLocal29a; 1010 if (!this.__viewTypeAbsoluteLocal29aSet) 1011 { 1012 // viewTypeAbsoluteLocal has no pre constraints 1013 viewTypeAbsoluteLocal29a = handleIsViewTypeAbsoluteLocal(); 1014 // viewTypeAbsoluteLocal has no post constraints 1015 this.__viewTypeAbsoluteLocal29a = viewTypeAbsoluteLocal29a; 1016 if (isMetafacadePropertyCachingEnabled()) 1017 { 1018 this.__viewTypeAbsoluteLocal29aSet = true; 1019 } 1020 } 1021 return viewTypeAbsoluteLocal29a; 1022 } 1023 1024 /** 1025 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeAbsoluteRemote() 1026 * @return boolean 1027 */ 1028 protected abstract boolean handleIsViewTypeAbsoluteRemote(); 1029 1030 private boolean __viewTypeAbsoluteRemote30a; 1031 private boolean __viewTypeAbsoluteRemote30aSet = false; 1032 1033 /** 1034 * Return true if the view type of the operation is local after examing all aspects of the owner 1035 * and operation. This is used to determine if operation is included in remote interface. 1036 * @return (boolean)handleIsViewTypeAbsoluteRemote() 1037 */ 1038 public final boolean isViewTypeAbsoluteRemote() 1039 { 1040 boolean viewTypeAbsoluteRemote30a = this.__viewTypeAbsoluteRemote30a; 1041 if (!this.__viewTypeAbsoluteRemote30aSet) 1042 { 1043 // viewTypeAbsoluteRemote has no pre constraints 1044 viewTypeAbsoluteRemote30a = handleIsViewTypeAbsoluteRemote(); 1045 // viewTypeAbsoluteRemote has no post constraints 1046 this.__viewTypeAbsoluteRemote30a = viewTypeAbsoluteRemote30a; 1047 if (isMetafacadePropertyCachingEnabled()) 1048 { 1049 this.__viewTypeAbsoluteRemote30aSet = true; 1050 } 1051 } 1052 return viewTypeAbsoluteRemote30a; 1053 } 1054 1055 /** 1056 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeAbsoluteBoth() 1057 * @return boolean 1058 */ 1059 protected abstract boolean handleIsViewTypeAbsoluteBoth(); 1060 1061 private boolean __viewTypeAbsoluteBoth31a; 1062 private boolean __viewTypeAbsoluteBoth31aSet = false; 1063 1064 /** 1065 * Return true if the view type of the operation is both after examing all aspects of the owner 1066 * and operation. This is used to determine which interface to use in the service delegate. 1067 * @return (boolean)handleIsViewTypeAbsoluteBoth() 1068 */ 1069 public final boolean isViewTypeAbsoluteBoth() 1070 { 1071 boolean viewTypeAbsoluteBoth31a = this.__viewTypeAbsoluteBoth31a; 1072 if (!this.__viewTypeAbsoluteBoth31aSet) 1073 { 1074 // viewTypeAbsoluteBoth has no pre constraints 1075 viewTypeAbsoluteBoth31a = handleIsViewTypeAbsoluteBoth(); 1076 // viewTypeAbsoluteBoth has no post constraints 1077 this.__viewTypeAbsoluteBoth31a = viewTypeAbsoluteBoth31a; 1078 if (isMetafacadePropertyCachingEnabled()) 1079 { 1080 this.__viewTypeAbsoluteBoth31aSet = true; 1081 } 1082 } 1083 return viewTypeAbsoluteBoth31a; 1084 } 1085 1086 /** 1087 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeStrictlyBoth() 1088 * @return boolean 1089 */ 1090 protected abstract boolean handleIsViewTypeStrictlyBoth(); 1091 1092 private boolean __viewTypeStrictlyBoth32a; 1093 private boolean __viewTypeStrictlyBoth32aSet = false; 1094 1095 /** 1096 * Returns true if the operation view type was explicitly set to both using tagged value. 1097 * @return (boolean)handleIsViewTypeStrictlyBoth() 1098 */ 1099 public final boolean isViewTypeStrictlyBoth() 1100 { 1101 boolean viewTypeStrictlyBoth32a = this.__viewTypeStrictlyBoth32a; 1102 if (!this.__viewTypeStrictlyBoth32aSet) 1103 { 1104 // viewTypeStrictlyBoth has no pre constraints 1105 viewTypeStrictlyBoth32a = handleIsViewTypeStrictlyBoth(); 1106 // viewTypeStrictlyBoth has no post constraints 1107 this.__viewTypeStrictlyBoth32a = viewTypeStrictlyBoth32a; 1108 if (isMetafacadePropertyCachingEnabled()) 1109 { 1110 this.__viewTypeStrictlyBoth32aSet = true; 1111 } 1112 } 1113 return viewTypeStrictlyBoth32a; 1114 } 1115 1116 /** 1117 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamAsynchronous() 1118 * @return boolean 1119 */ 1120 protected abstract boolean handleIsSeamAsynchronous(); 1121 1122 private boolean __seamAsynchronous33a; 1123 private boolean __seamAsynchronous33aSet = false; 1124 1125 /** 1126 * Stereotype Asynchronous. Specifies that the method call is processed asynchronously. 1127 * @return (boolean)handleIsSeamAsynchronous() 1128 */ 1129 public final boolean isSeamAsynchronous() 1130 { 1131 boolean seamAsynchronous33a = this.__seamAsynchronous33a; 1132 if (!this.__seamAsynchronous33aSet) 1133 { 1134 // seamAsynchronous has no pre constraints 1135 seamAsynchronous33a = handleIsSeamAsynchronous(); 1136 // seamAsynchronous has no post constraints 1137 this.__seamAsynchronous33a = seamAsynchronous33a; 1138 if (isMetafacadePropertyCachingEnabled()) 1139 { 1140 this.__seamAsynchronous33aSet = true; 1141 } 1142 } 1143 return seamAsynchronous33a; 1144 } 1145 1146 /** 1147 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationBegin() 1148 * @return boolean 1149 */ 1150 protected abstract boolean handleIsSeamConversationBegin(); 1151 1152 private boolean __seamConversationBegin34a; 1153 private boolean __seamConversationBegin34aSet = false; 1154 1155 /** 1156 * Returns true if the <<Begin>> stereotype is set. Specifies that a long-running conversation 1157 * begins when this method returns a non-null outcome without exception. 1158 * @return (boolean)handleIsSeamConversationBegin() 1159 */ 1160 public final boolean isSeamConversationBegin() 1161 { 1162 boolean seamConversationBegin34a = this.__seamConversationBegin34a; 1163 if (!this.__seamConversationBegin34aSet) 1164 { 1165 // seamConversationBegin has no pre constraints 1166 seamConversationBegin34a = handleIsSeamConversationBegin(); 1167 // seamConversationBegin has no post constraints 1168 this.__seamConversationBegin34a = seamConversationBegin34a; 1169 if (isMetafacadePropertyCachingEnabled()) 1170 { 1171 this.__seamConversationBegin34aSet = true; 1172 } 1173 } 1174 return seamConversationBegin34a; 1175 } 1176 1177 /** 1178 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationBeginTask() 1179 * @return boolean 1180 */ 1181 protected abstract boolean handleIsSeamConversationBeginTask(); 1182 1183 private boolean __seamConversationBeginTask35a; 1184 private boolean __seamConversationBeginTask35aSet = false; 1185 1186 /** 1187 * Returns true if stereotype <<BeginTask>> is set. Resumes work on an incomplete jBPM task. 1188 * Specifies that a long-running conversation begins when this method returns a non-null outcome 1189 * without exception. This conversation is associated with the jBPM task specified in the named 1190 * request parameter. Within the context of this conversation, a business process context is 1191 * also defined, for the business process instance of the task instance. 1192 * @return (boolean)handleIsSeamConversationBeginTask() 1193 */ 1194 public final boolean isSeamConversationBeginTask() 1195 { 1196 boolean seamConversationBeginTask35a = this.__seamConversationBeginTask35a; 1197 if (!this.__seamConversationBeginTask35aSet) 1198 { 1199 // seamConversationBeginTask has no pre constraints 1200 seamConversationBeginTask35a = handleIsSeamConversationBeginTask(); 1201 // seamConversationBeginTask has no post constraints 1202 this.__seamConversationBeginTask35a = seamConversationBeginTask35a; 1203 if (isMetafacadePropertyCachingEnabled()) 1204 { 1205 this.__seamConversationBeginTask35aSet = true; 1206 } 1207 } 1208 return seamConversationBeginTask35a; 1209 } 1210 1211 /** 1212 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationCreateProcess() 1213 * @return boolean 1214 */ 1215 protected abstract boolean handleIsSeamConversationCreateProcess(); 1216 1217 private boolean __seamConversationCreateProcess36a; 1218 private boolean __seamConversationCreateProcess36aSet = false; 1219 1220 /** 1221 * Returns true if stereotype <<CreateProcess>> is set. Creates a new jBPM process instance when 1222 * the method returns a non-null outcome without exception. The ProcessInstance object will be 1223 * available in a context variable named processInstance. 1224 * @return (boolean)handleIsSeamConversationCreateProcess() 1225 */ 1226 public final boolean isSeamConversationCreateProcess() 1227 { 1228 boolean seamConversationCreateProcess36a = this.__seamConversationCreateProcess36a; 1229 if (!this.__seamConversationCreateProcess36aSet) 1230 { 1231 // seamConversationCreateProcess has no pre constraints 1232 seamConversationCreateProcess36a = handleIsSeamConversationCreateProcess(); 1233 // seamConversationCreateProcess has no post constraints 1234 this.__seamConversationCreateProcess36a = seamConversationCreateProcess36a; 1235 if (isMetafacadePropertyCachingEnabled()) 1236 { 1237 this.__seamConversationCreateProcess36aSet = true; 1238 } 1239 } 1240 return seamConversationCreateProcess36a; 1241 } 1242 1243 /** 1244 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationEnd() 1245 * @return boolean 1246 */ 1247 protected abstract boolean handleIsSeamConversationEnd(); 1248 1249 private boolean __seamConversationEnd37a; 1250 private boolean __seamConversationEnd37aSet = false; 1251 1252 /** 1253 * Returns true if stereotype <<End>> is set. Specifies that a long-running conversation ends 1254 * when this method returns a non-null outcome without exception. 1255 * @return (boolean)handleIsSeamConversationEnd() 1256 */ 1257 public final boolean isSeamConversationEnd() 1258 { 1259 boolean seamConversationEnd37a = this.__seamConversationEnd37a; 1260 if (!this.__seamConversationEnd37aSet) 1261 { 1262 // seamConversationEnd has no pre constraints 1263 seamConversationEnd37a = handleIsSeamConversationEnd(); 1264 // seamConversationEnd has no post constraints 1265 this.__seamConversationEnd37a = seamConversationEnd37a; 1266 if (isMetafacadePropertyCachingEnabled()) 1267 { 1268 this.__seamConversationEnd37aSet = true; 1269 } 1270 } 1271 return seamConversationEnd37a; 1272 } 1273 1274 /** 1275 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationEndTask() 1276 * @return boolean 1277 */ 1278 protected abstract boolean handleIsSeamConversationEndTask(); 1279 1280 private boolean __seamConversationEndTask38a; 1281 private boolean __seamConversationEndTask38aSet = false; 1282 1283 /** 1284 * Returns true if stereotype <<EndTask>> is set and "Ends" a jBPM task. Specifies that a 1285 * long-running conversation ends when this method returns a non-null outcome, and that the 1286 * current task is complete. Triggers a jBPM transition. The actual transition triggered will be 1287 * the default transition unless the application has called Transition.setName() on the built-in 1288 * component named transition. 1289 * @return (boolean)handleIsSeamConversationEndTask() 1290 */ 1291 public final boolean isSeamConversationEndTask() 1292 { 1293 boolean seamConversationEndTask38a = this.__seamConversationEndTask38a; 1294 if (!this.__seamConversationEndTask38aSet) 1295 { 1296 // seamConversationEndTask has no pre constraints 1297 seamConversationEndTask38a = handleIsSeamConversationEndTask(); 1298 // seamConversationEndTask has no post constraints 1299 this.__seamConversationEndTask38a = seamConversationEndTask38a; 1300 if (isMetafacadePropertyCachingEnabled()) 1301 { 1302 this.__seamConversationEndTask38aSet = true; 1303 } 1304 } 1305 return seamConversationEndTask38a; 1306 } 1307 1308 /** 1309 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamBijectionFactory() 1310 * @return boolean 1311 */ 1312 protected abstract boolean handleIsSeamBijectionFactory(); 1313 1314 private boolean __seamBijectionFactory39a; 1315 private boolean __seamBijectionFactory39aSet = false; 1316 1317 /** 1318 * Returns true when stereotype <<Factory>> is set. When it is used on an operation which return 1319 * void that operation will be used to initialize the value of the named context variable, when 1320 * the context variable has no value. 1321 * When it is used on an operation that returns a value then Seam should use that value to 1322 * initialize the value of the named context variable, when the context variable has no value. 1323 * The context variable is specified by tagged value andromda.seam.bijection.factory.value. If 1324 * the method is a getter method, default to the JavaBeans property name. 1325 * If no scope is explicitly specified by tagged value andromda.seam.bijection.factory.scope, 1326 * the scope of the component with the Factory method is used (unless the component is 1327 * stateless, in which case the EVENT context is used). 1328 * @return (boolean)handleIsSeamBijectionFactory() 1329 */ 1330 public final boolean isSeamBijectionFactory() 1331 { 1332 boolean seamBijectionFactory39a = this.__seamBijectionFactory39a; 1333 if (!this.__seamBijectionFactory39aSet) 1334 { 1335 // seamBijectionFactory has no pre constraints 1336 seamBijectionFactory39a = handleIsSeamBijectionFactory(); 1337 // seamBijectionFactory has no post constraints 1338 this.__seamBijectionFactory39a = seamBijectionFactory39a; 1339 if (isMetafacadePropertyCachingEnabled()) 1340 { 1341 this.__seamBijectionFactory39aSet = true; 1342 } 1343 } 1344 return seamBijectionFactory39a; 1345 } 1346 1347 /** 1348 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamObserverEventName() 1349 * @return String 1350 */ 1351 protected abstract String handleGetSeamObserverEventName(); 1352 1353 private String __seamObserverEventName40a; 1354 private boolean __seamObserverEventName40aSet = false; 1355 1356 /** 1357 * Specifies that the method should be called when a component-driven event of the specified 1358 * type occurs. 1359 * @return (String)handleGetSeamObserverEventName() 1360 */ 1361 public final String getSeamObserverEventName() 1362 { 1363 String seamObserverEventName40a = this.__seamObserverEventName40a; 1364 if (!this.__seamObserverEventName40aSet) 1365 { 1366 // seamObserverEventName has no pre constraints 1367 seamObserverEventName40a = handleGetSeamObserverEventName(); 1368 // seamObserverEventName has no post constraints 1369 this.__seamObserverEventName40a = seamObserverEventName40a; 1370 if (isMetafacadePropertyCachingEnabled()) 1371 { 1372 this.__seamObserverEventName40aSet = true; 1373 } 1374 } 1375 return seamObserverEventName40a; 1376 } 1377 1378 /** 1379 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationResumeProcess() 1380 * @return boolean 1381 */ 1382 protected abstract boolean handleIsSeamConversationResumeProcess(); 1383 1384 private boolean __seamConversationResumeProcess41a; 1385 private boolean __seamConversationResumeProcess41aSet = false; 1386 1387 /** 1388 * Returns true if stereotype <<ResumeProcess>> is set. Re-enters the scope of an existing jBPM 1389 * process instance when the method returns a non-null outcome without exception. The 1390 * ProcessInstance object will be available in a context variable named processInstance. 1391 * @return (boolean)handleIsSeamConversationResumeProcess() 1392 */ 1393 public final boolean isSeamConversationResumeProcess() 1394 { 1395 boolean seamConversationResumeProcess41a = this.__seamConversationResumeProcess41a; 1396 if (!this.__seamConversationResumeProcess41aSet) 1397 { 1398 // seamConversationResumeProcess has no pre constraints 1399 seamConversationResumeProcess41a = handleIsSeamConversationResumeProcess(); 1400 // seamConversationResumeProcess has no post constraints 1401 this.__seamConversationResumeProcess41a = seamConversationResumeProcess41a; 1402 if (isMetafacadePropertyCachingEnabled()) 1403 { 1404 this.__seamConversationResumeProcess41aSet = true; 1405 } 1406 } 1407 return seamConversationResumeProcess41a; 1408 } 1409 1410 /** 1411 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamTransactionRollback() 1412 * @return boolean 1413 */ 1414 protected abstract boolean handleIsSeamTransactionRollback(); 1415 1416 private boolean __seamTransactionRollback42a; 1417 private boolean __seamTransactionRollback42aSet = false; 1418 1419 /** 1420 * Returns true if stereotype <<Rollback>> is set. If the outcome of the method matches any of 1421 * the listed outcomes, or if no outcomes are listed, set the transaction to rollback only when 1422 * the method completes. 1423 * @return (boolean)handleIsSeamTransactionRollback() 1424 */ 1425 public final boolean isSeamTransactionRollback() 1426 { 1427 boolean seamTransactionRollback42a = this.__seamTransactionRollback42a; 1428 if (!this.__seamTransactionRollback42aSet) 1429 { 1430 // seamTransactionRollback has no pre constraints 1431 seamTransactionRollback42a = handleIsSeamTransactionRollback(); 1432 // seamTransactionRollback has no post constraints 1433 this.__seamTransactionRollback42a = seamTransactionRollback42a; 1434 if (isMetafacadePropertyCachingEnabled()) 1435 { 1436 this.__seamTransactionRollback42aSet = true; 1437 } 1438 } 1439 return seamTransactionRollback42a; 1440 } 1441 1442 /** 1443 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationStartTask() 1444 * @return boolean 1445 */ 1446 protected abstract boolean handleIsSeamConversationStartTask(); 1447 1448 private boolean __seamConversationStartTask43a; 1449 private boolean __seamConversationStartTask43aSet = false; 1450 1451 /** 1452 * Returns true if stereotype <<StartTask>> is set. It "Starts" a jBPM task. Specifies that a 1453 * long-running conversation begins when this method returns a non-null outcome without 1454 * exception. This conversation is associated with the jBPM task specified in the named request 1455 * parameter. Within the context of this conversation, a business process context is also 1456 * defined, for the business process instance of the task instance. 1457 * The jBPM TaskInstance will be available in a request context variable named taskInstance. The 1458 * jPBM ProcessInstance will be available in a request context variable named processInstance. 1459 * (Of course, these objects are available for injection via In.) 1460 * @return (boolean)handleIsSeamConversationStartTask() 1461 */ 1462 public final boolean isSeamConversationStartTask() 1463 { 1464 boolean seamConversationStartTask43a = this.__seamConversationStartTask43a; 1465 if (!this.__seamConversationStartTask43aSet) 1466 { 1467 // seamConversationStartTask has no pre constraints 1468 seamConversationStartTask43a = handleIsSeamConversationStartTask(); 1469 // seamConversationStartTask has no post constraints 1470 this.__seamConversationStartTask43a = seamConversationStartTask43a; 1471 if (isMetafacadePropertyCachingEnabled()) 1472 { 1473 this.__seamConversationStartTask43aSet = true; 1474 } 1475 } 1476 return seamConversationStartTask43a; 1477 } 1478 1479 /** 1480 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamTransactional() 1481 * @return boolean 1482 */ 1483 protected abstract boolean handleIsSeamTransactional(); 1484 1485 private boolean __seamTransactional44a; 1486 private boolean __seamTransactional44aSet = false; 1487 1488 /** 1489 * Specifies that a JavaBean component should have a similar transactional behavior to the 1490 * default behavior of a session bean component. ie. method invocations should take place in a 1491 * transaction, and if no transaction exists when the method is called, a transaction will be 1492 * started just for that method. This annotation may be applied at either class or method level. 1493 * @return (boolean)handleIsSeamTransactional() 1494 */ 1495 public final boolean isSeamTransactional() 1496 { 1497 boolean seamTransactional44a = this.__seamTransactional44a; 1498 if (!this.__seamTransactional44aSet) 1499 { 1500 // seamTransactional has no pre constraints 1501 seamTransactional44a = handleIsSeamTransactional(); 1502 // seamTransactional has no post constraints 1503 this.__seamTransactional44a = seamTransactional44a; 1504 if (isMetafacadePropertyCachingEnabled()) 1505 { 1506 this.__seamTransactional44aSet = true; 1507 } 1508 } 1509 return seamTransactional44a; 1510 } 1511 1512 /** 1513 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamWebRemote() 1514 * @return boolean 1515 */ 1516 protected abstract boolean handleIsSeamWebRemote(); 1517 1518 private boolean __seamWebRemote45a; 1519 private boolean __seamWebRemote45aSet = false; 1520 1521 /** 1522 * True if <<WebRemote>> stereotype is set. Indicates that the annotated method may be called 1523 * from client-side JavaScript. 1524 * @return (boolean)handleIsSeamWebRemote() 1525 */ 1526 public final boolean isSeamWebRemote() 1527 { 1528 boolean seamWebRemote45a = this.__seamWebRemote45a; 1529 if (!this.__seamWebRemote45aSet) 1530 { 1531 // seamWebRemote has no pre constraints 1532 seamWebRemote45a = handleIsSeamWebRemote(); 1533 // seamWebRemote has no post constraints 1534 this.__seamWebRemote45a = seamWebRemote45a; 1535 if (isMetafacadePropertyCachingEnabled()) 1536 { 1537 this.__seamWebRemote45aSet = true; 1538 } 1539 } 1540 return seamWebRemote45a; 1541 } 1542 1543 /** 1544 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamLifecycleDestroy() 1545 * @return boolean 1546 */ 1547 protected abstract boolean handleIsSeamLifecycleDestroy(); 1548 1549 private boolean __seamLifecycleDestroy46a; 1550 private boolean __seamLifecycleDestroy46aSet = false; 1551 1552 /** 1553 * Returns true if the operation has the <<Destroy>> stereotype modelled. 1554 * @return (boolean)handleIsSeamLifecycleDestroy() 1555 */ 1556 public final boolean isSeamLifecycleDestroy() 1557 { 1558 boolean seamLifecycleDestroy46a = this.__seamLifecycleDestroy46a; 1559 if (!this.__seamLifecycleDestroy46aSet) 1560 { 1561 // seamLifecycleDestroy has no pre constraints 1562 seamLifecycleDestroy46a = handleIsSeamLifecycleDestroy(); 1563 // seamLifecycleDestroy has no post constraints 1564 this.__seamLifecycleDestroy46a = seamLifecycleDestroy46a; 1565 if (isMetafacadePropertyCachingEnabled()) 1566 { 1567 this.__seamLifecycleDestroy46aSet = true; 1568 } 1569 } 1570 return seamLifecycleDestroy46a; 1571 } 1572 1573 /** 1574 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamLifecycleCreate() 1575 * @return boolean 1576 */ 1577 protected abstract boolean handleIsSeamLifecycleCreate(); 1578 1579 private boolean __seamLifecycleCreate47a; 1580 private boolean __seamLifecycleCreate47aSet = false; 1581 1582 /** 1583 * Returns true if the operation has the <<Create>> stereotype modelled. 1584 * @return (boolean)handleIsSeamLifecycleCreate() 1585 */ 1586 public final boolean isSeamLifecycleCreate() 1587 { 1588 boolean seamLifecycleCreate47a = this.__seamLifecycleCreate47a; 1589 if (!this.__seamLifecycleCreate47aSet) 1590 { 1591 // seamLifecycleCreate has no pre constraints 1592 seamLifecycleCreate47a = handleIsSeamLifecycleCreate(); 1593 // seamLifecycleCreate has no post constraints 1594 this.__seamLifecycleCreate47a = seamLifecycleCreate47a; 1595 if (isMetafacadePropertyCachingEnabled()) 1596 { 1597 this.__seamLifecycleCreate47aSet = true; 1598 } 1599 } 1600 return seamLifecycleCreate47a; 1601 } 1602 1603 /** 1604 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamWebRemoteParameters() 1605 * @return String 1606 */ 1607 protected abstract String handleGetSeamWebRemoteParameters(); 1608 1609 private String __seamWebRemoteParameters48a; 1610 private boolean __seamWebRemoteParameters48aSet = false; 1611 1612 /** 1613 * Returns a string with parameters for the org.jboss.seam.annotations.WebRemote annotation. 1614 * Supported parameters: 1615 * exclude - Allows objects to be excluded from the result's object graph. Example: 1616 * WebRemote(exclude="path.to.exclude") 1617 * @return (String)handleGetSeamWebRemoteParameters() 1618 */ 1619 public final String getSeamWebRemoteParameters() 1620 { 1621 String seamWebRemoteParameters48a = this.__seamWebRemoteParameters48a; 1622 if (!this.__seamWebRemoteParameters48aSet) 1623 { 1624 // seamWebRemoteParameters has no pre constraints 1625 seamWebRemoteParameters48a = handleGetSeamWebRemoteParameters(); 1626 // seamWebRemoteParameters has no post constraints 1627 this.__seamWebRemoteParameters48a = seamWebRemoteParameters48a; 1628 if (isMetafacadePropertyCachingEnabled()) 1629 { 1630 this.__seamWebRemoteParameters48aSet = true; 1631 } 1632 } 1633 return seamWebRemoteParameters48a; 1634 } 1635 1636 /** 1637 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationBeginParameters() 1638 * @return String 1639 */ 1640 protected abstract String handleGetSeamConversationBeginParameters(); 1641 1642 private String __seamConversationBeginParameters49a; 1643 private boolean __seamConversationBeginParameters49aSet = false; 1644 1645 /** 1646 * Returns a parameter string for the org.jboss.seam.annotations.Begin annotation. Supported 1647 * parameters: 1648 * * ifOutcome ? specifies the JSF outcome or outcomes that result in a new long-running 1649 * conversation context. 1650 * * join ? determines the behavior when a long-running conversation is already in progress. If 1651 * true, the context is propagated. If false, an exception is thrown. Default to false. This 1652 * setting is ignored when nested=true is specified 1653 * * nested ? specifies that a nested conversation should be started if a long-running 1654 * conversation is already in progress. 1655 * * flushMode ? set the flush mode of any Seam-managed Hibernate sessions or JPA persistence 1656 * contexts that are created during this conversation. 1657 * * pageflow ? a process definition name of a jBPM process definition deployed via 1658 * org.jboss.seam.core.jbpm.pageflowDefinitions. 1659 * @return (String)handleGetSeamConversationBeginParameters() 1660 */ 1661 public final String getSeamConversationBeginParameters() 1662 { 1663 String seamConversationBeginParameters49a = this.__seamConversationBeginParameters49a; 1664 if (!this.__seamConversationBeginParameters49aSet) 1665 { 1666 // seamConversationBeginParameters has no pre constraints 1667 seamConversationBeginParameters49a = handleGetSeamConversationBeginParameters(); 1668 // seamConversationBeginParameters has no post constraints 1669 this.__seamConversationBeginParameters49a = seamConversationBeginParameters49a; 1670 if (isMetafacadePropertyCachingEnabled()) 1671 { 1672 this.__seamConversationBeginParameters49aSet = true; 1673 } 1674 } 1675 return seamConversationBeginParameters49a; 1676 } 1677 1678 /** 1679 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationBeginTaskParameters() 1680 * @return String 1681 */ 1682 protected abstract String handleGetSeamConversationBeginTaskParameters(); 1683 1684 private String __seamConversationBeginTaskParameters50a; 1685 private boolean __seamConversationBeginTaskParameters50aSet = false; 1686 1687 /** 1688 * Returns a parameter string for the org.jboss.seam.annotations.BeginTask annotation. Supported 1689 * parameters: 1690 * * taskIdParameter ? the name of a request parameter which holds the id of the task. Default 1691 * to "taskId", which is also the default used by the Seam taskList JSF component. 1692 * * flushMode ? set the flush mode of any Seam-managed Hibernate sessions or JPA persistence 1693 * contexts that are created during this conversation. 1694 * @return (String)handleGetSeamConversationBeginTaskParameters() 1695 */ 1696 public final String getSeamConversationBeginTaskParameters() 1697 { 1698 String seamConversationBeginTaskParameters50a = this.__seamConversationBeginTaskParameters50a; 1699 if (!this.__seamConversationBeginTaskParameters50aSet) 1700 { 1701 // seamConversationBeginTaskParameters has no pre constraints 1702 seamConversationBeginTaskParameters50a = handleGetSeamConversationBeginTaskParameters(); 1703 // seamConversationBeginTaskParameters has no post constraints 1704 this.__seamConversationBeginTaskParameters50a = seamConversationBeginTaskParameters50a; 1705 if (isMetafacadePropertyCachingEnabled()) 1706 { 1707 this.__seamConversationBeginTaskParameters50aSet = true; 1708 } 1709 } 1710 return seamConversationBeginTaskParameters50a; 1711 } 1712 1713 /** 1714 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationCreateProcessParameters() 1715 * @return String 1716 */ 1717 protected abstract String handleGetSeamConversationCreateProcessParameters(); 1718 1719 private String __seamConversationCreateProcessParameters51a; 1720 private boolean __seamConversationCreateProcessParameters51aSet = false; 1721 1722 /** 1723 * Returns a parameter string for the org.jboss.seam.annotations.CreateProcess annotation. 1724 * Supported parameters: 1725 * * definition ? the name of the jBPM process definition deployed via 1726 * org.jboss.seam.core.jbpm.processDefinitions. 1727 * @return (String)handleGetSeamConversationCreateProcessParameters() 1728 */ 1729 public final String getSeamConversationCreateProcessParameters() 1730 { 1731 String seamConversationCreateProcessParameters51a = this.__seamConversationCreateProcessParameters51a; 1732 if (!this.__seamConversationCreateProcessParameters51aSet) 1733 { 1734 // seamConversationCreateProcessParameters has no pre constraints 1735 seamConversationCreateProcessParameters51a = handleGetSeamConversationCreateProcessParameters(); 1736 // seamConversationCreateProcessParameters has no post constraints 1737 this.__seamConversationCreateProcessParameters51a = seamConversationCreateProcessParameters51a; 1738 if (isMetafacadePropertyCachingEnabled()) 1739 { 1740 this.__seamConversationCreateProcessParameters51aSet = true; 1741 } 1742 } 1743 return seamConversationCreateProcessParameters51a; 1744 } 1745 1746 /** 1747 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationEndParameters() 1748 * @return String 1749 */ 1750 protected abstract String handleGetSeamConversationEndParameters(); 1751 1752 private String __seamConversationEndParameters52a; 1753 private boolean __seamConversationEndParameters52aSet = false; 1754 1755 /** 1756 * Returns a parameter string for the org.jboss.seam.annotations.End annotation. Supported 1757 * parameters: 1758 * * ifOutcome ? specifies the JSF outcome or outcomes that result in the end of the current 1759 * long-running conversation. 1760 * * beforeRedirect ? by default, the conversation will not actually be destroyed until after 1761 * any redirect has occurred. Setting beforeRedirect=true specifies that the conversation should 1762 * be destroyed at the end of the current request, and that the redirect will be processed in a 1763 * new temporary conversation context. 1764 * @return (String)handleGetSeamConversationEndParameters() 1765 */ 1766 public final String getSeamConversationEndParameters() 1767 { 1768 String seamConversationEndParameters52a = this.__seamConversationEndParameters52a; 1769 if (!this.__seamConversationEndParameters52aSet) 1770 { 1771 // seamConversationEndParameters has no pre constraints 1772 seamConversationEndParameters52a = handleGetSeamConversationEndParameters(); 1773 // seamConversationEndParameters has no post constraints 1774 this.__seamConversationEndParameters52a = seamConversationEndParameters52a; 1775 if (isMetafacadePropertyCachingEnabled()) 1776 { 1777 this.__seamConversationEndParameters52aSet = true; 1778 } 1779 } 1780 return seamConversationEndParameters52a; 1781 } 1782 1783 /** 1784 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationEndTaskParameters() 1785 * @return String 1786 */ 1787 protected abstract String handleGetSeamConversationEndTaskParameters(); 1788 1789 private String __seamConversationEndTaskParameters53a; 1790 private boolean __seamConversationEndTaskParameters53aSet = false; 1791 1792 /** 1793 * Returns a parameter string for the org.jboss.seam.annotations.EndTask annotation. Supported 1794 * parameters: 1795 * * transition ? the name of the jBPM transition to be triggered when ending the task. Defaults 1796 * to the default transition. 1797 * * ifOutcome ? specifies the JSF outcome or outcomes that result in the end of the task. 1798 * * beforeRedirect ? by default, the conversation will not actually be destroyed until after 1799 * any redirect has occurred. Setting beforeRedirect=true specifies that the conversation should 1800 * be destroyed at the end of the current request, and that the redirect will be processed in a 1801 * new temporary conversation context. 1802 * @return (String)handleGetSeamConversationEndTaskParameters() 1803 */ 1804 public final String getSeamConversationEndTaskParameters() 1805 { 1806 String seamConversationEndTaskParameters53a = this.__seamConversationEndTaskParameters53a; 1807 if (!this.__seamConversationEndTaskParameters53aSet) 1808 { 1809 // seamConversationEndTaskParameters has no pre constraints 1810 seamConversationEndTaskParameters53a = handleGetSeamConversationEndTaskParameters(); 1811 // seamConversationEndTaskParameters has no post constraints 1812 this.__seamConversationEndTaskParameters53a = seamConversationEndTaskParameters53a; 1813 if (isMetafacadePropertyCachingEnabled()) 1814 { 1815 this.__seamConversationEndTaskParameters53aSet = true; 1816 } 1817 } 1818 return seamConversationEndTaskParameters53a; 1819 } 1820 1821 /** 1822 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamBijectionFactoryParameters() 1823 * @return String 1824 */ 1825 protected abstract String handleGetSeamBijectionFactoryParameters(); 1826 1827 private String __seamBijectionFactoryParameters54a; 1828 private boolean __seamBijectionFactoryParameters54aSet = false; 1829 1830 /** 1831 * Returns a parameter string for the org.jboss.seam.annotations.Factory annotation. Supported 1832 * parameters: 1833 * * value ? specifies the name of the context variable. If the method is a getter method, 1834 * default to the JavaBeans property name. 1835 * * scope ? specifies the scope that Seam should bind the returned value to. Only meaningful 1836 * for factory methods which return a value. 1837 * @return (String)handleGetSeamBijectionFactoryParameters() 1838 */ 1839 public final String getSeamBijectionFactoryParameters() 1840 { 1841 String seamBijectionFactoryParameters54a = this.__seamBijectionFactoryParameters54a; 1842 if (!this.__seamBijectionFactoryParameters54aSet) 1843 { 1844 // seamBijectionFactoryParameters has no pre constraints 1845 seamBijectionFactoryParameters54a = handleGetSeamBijectionFactoryParameters(); 1846 // seamBijectionFactoryParameters has no post constraints 1847 this.__seamBijectionFactoryParameters54a = seamBijectionFactoryParameters54a; 1848 if (isMetafacadePropertyCachingEnabled()) 1849 { 1850 this.__seamBijectionFactoryParameters54aSet = true; 1851 } 1852 } 1853 return seamBijectionFactoryParameters54a; 1854 } 1855 1856 /** 1857 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationResumeProcessParameters() 1858 * @return String 1859 */ 1860 protected abstract String handleGetSeamConversationResumeProcessParameters(); 1861 1862 private String __seamConversationResumeProcessParameters55a; 1863 private boolean __seamConversationResumeProcessParameters55aSet = false; 1864 1865 /** 1866 * Returns a parameter string for the org.jboss.seam.annotations.ResumeProcess annotation. 1867 * Supported parameters: 1868 * * processIdParameter ? the name a request parameter holding the process id. Default to 1869 * "processId". 1870 * @return (String)handleGetSeamConversationResumeProcessParameters() 1871 */ 1872 public final String getSeamConversationResumeProcessParameters() 1873 { 1874 String seamConversationResumeProcessParameters55a = this.__seamConversationResumeProcessParameters55a; 1875 if (!this.__seamConversationResumeProcessParameters55aSet) 1876 { 1877 // seamConversationResumeProcessParameters has no pre constraints 1878 seamConversationResumeProcessParameters55a = handleGetSeamConversationResumeProcessParameters(); 1879 // seamConversationResumeProcessParameters has no post constraints 1880 this.__seamConversationResumeProcessParameters55a = seamConversationResumeProcessParameters55a; 1881 if (isMetafacadePropertyCachingEnabled()) 1882 { 1883 this.__seamConversationResumeProcessParameters55aSet = true; 1884 } 1885 } 1886 return seamConversationResumeProcessParameters55a; 1887 } 1888 1889 /** 1890 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationStartTaskParameters() 1891 * @return String 1892 */ 1893 protected abstract String handleGetSeamConversationStartTaskParameters(); 1894 1895 private String __seamConversationStartTaskParameters56a; 1896 private boolean __seamConversationStartTaskParameters56aSet = false; 1897 1898 /** 1899 * Returns a parameter string for the org.jboss.seam.annotations.StartTask annotation. Supported 1900 * parameters: 1901 * * taskIdParameter ? the name of a request parameter which holds the id of the task. Default 1902 * to "taskId", which is also the default used by the Seam taskList JSF component. 1903 * * flushMode ? set the flush mode of any Seam-managed Hibernate sessions or JPA persistence 1904 * contexts that are created during this conversation. 1905 * @return (String)handleGetSeamConversationStartTaskParameters() 1906 */ 1907 public final String getSeamConversationStartTaskParameters() 1908 { 1909 String seamConversationStartTaskParameters56a = this.__seamConversationStartTaskParameters56a; 1910 if (!this.__seamConversationStartTaskParameters56aSet) 1911 { 1912 // seamConversationStartTaskParameters has no pre constraints 1913 seamConversationStartTaskParameters56a = handleGetSeamConversationStartTaskParameters(); 1914 // seamConversationStartTaskParameters has no post constraints 1915 this.__seamConversationStartTaskParameters56a = seamConversationStartTaskParameters56a; 1916 if (isMetafacadePropertyCachingEnabled()) 1917 { 1918 this.__seamConversationStartTaskParameters56aSet = true; 1919 } 1920 } 1921 return seamConversationStartTaskParameters56a; 1922 } 1923 1924 /** 1925 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamTransactionRollbackParameters() 1926 * @return String 1927 */ 1928 protected abstract String handleGetSeamTransactionRollbackParameters(); 1929 1930 private String __seamTransactionRollbackParameters57a; 1931 private boolean __seamTransactionRollbackParameters57aSet = false; 1932 1933 /** 1934 * Returns a parameter string for the org.jboss.seam.annotations.Rollback annotation. Supported 1935 * parameters: 1936 * * ifOutcome ? the JSF outcomes that cause a transaction rollback (no outcomes is interpreted 1937 * to mean any outcome). 1938 * @return (String)handleGetSeamTransactionRollbackParameters() 1939 */ 1940 public final String getSeamTransactionRollbackParameters() 1941 { 1942 String seamTransactionRollbackParameters57a = this.__seamTransactionRollbackParameters57a; 1943 if (!this.__seamTransactionRollbackParameters57aSet) 1944 { 1945 // seamTransactionRollbackParameters has no pre constraints 1946 seamTransactionRollbackParameters57a = handleGetSeamTransactionRollbackParameters(); 1947 // seamTransactionRollbackParameters has no post constraints 1948 this.__seamTransactionRollbackParameters57a = seamTransactionRollbackParameters57a; 1949 if (isMetafacadePropertyCachingEnabled()) 1950 { 1951 this.__seamTransactionRollbackParameters57aSet = true; 1952 } 1953 } 1954 return seamTransactionRollbackParameters57a; 1955 } 1956 1957 /** 1958 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamObserver() 1959 * @return boolean 1960 */ 1961 protected abstract boolean handleIsSeamObserver(); 1962 1963 private boolean __seamObserver58a; 1964 private boolean __seamObserver58aSet = false; 1965 1966 /** 1967 * True if the annotated method is a seam component-driven event observer. 1968 * @return (boolean)handleIsSeamObserver() 1969 */ 1970 public final boolean isSeamObserver() 1971 { 1972 boolean seamObserver58a = this.__seamObserver58a; 1973 if (!this.__seamObserver58aSet) 1974 { 1975 // seamObserver has no pre constraints 1976 seamObserver58a = handleIsSeamObserver(); 1977 // seamObserver has no post constraints 1978 this.__seamObserver58a = seamObserver58a; 1979 if (isMetafacadePropertyCachingEnabled()) 1980 { 1981 this.__seamObserver58aSet = true; 1982 } 1983 } 1984 return seamObserver58a; 1985 } 1986 1987 /** 1988 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getTestSignature() 1989 * @return String 1990 */ 1991 protected abstract String handleGetTestSignature(); 1992 1993 private String __testSignature59a; 1994 private boolean __testSignature59aSet = false; 1995 1996 /** 1997 * Returns the session operation test signature used to generate the test method for the 1998 * operation in the session bean test class. 1999 * @return (String)handleGetTestSignature() 2000 */ 2001 public final String getTestSignature() 2002 { 2003 String testSignature59a = this.__testSignature59a; 2004 if (!this.__testSignature59aSet) 2005 { 2006 // testSignature has no pre constraints 2007 testSignature59a = handleGetTestSignature(); 2008 // testSignature has no post constraints 2009 this.__testSignature59a = testSignature59a; 2010 if (isMetafacadePropertyCachingEnabled()) 2011 { 2012 this.__testSignature59aSet = true; 2013 } 2014 } 2015 return testSignature59a; 2016 } 2017 2018 /** 2019 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getTestName() 2020 * @return String 2021 */ 2022 protected abstract String handleGetTestName(); 2023 2024 private String __testName60a; 2025 private boolean __testName60aSet = false; 2026 2027 /** 2028 * Returns the operation test name 2029 * @return (String)handleGetTestName() 2030 */ 2031 public final String getTestName() 2032 { 2033 String testName60a = this.__testName60a; 2034 if (!this.__testName60aSet) 2035 { 2036 // testName has no pre constraints 2037 testName60a = handleGetTestName(); 2038 // testName has no post constraints 2039 this.__testName60a = testName60a; 2040 if (isMetafacadePropertyCachingEnabled()) 2041 { 2042 this.__testName60aSet = true; 2043 } 2044 } 2045 return testName60a; 2046 } 2047 2048 // ---------------- business methods ---------------------- 2049 2050 /** 2051 * Method to be implemented in descendants 2052 * Retrieves the throws clause allowing a comma separated list of exceptions to be passed in and 2053 * appended to the list. 2054 * @param initialExceptions 2055 * @return String 2056 */ 2057 protected abstract String handleGetThrowsClause(String initialExceptions); 2058 2059 /** 2060 * Retrieves the throws clause allowing a comma separated list of exceptions to be passed in and 2061 * appended to the list. 2062 * @param initialExceptions String 2063 * A comma separated list of exceptions to be passed in. 2064 * @return handleGetThrowsClause(initialExceptions) 2065 */ 2066 public String getThrowsClause(String initialExceptions) 2067 { 2068 // getThrowsClause has no pre constraints 2069 String returnValue = handleGetThrowsClause(initialExceptions); 2070 // getThrowsClause has no post constraints 2071 return returnValue; 2072 } 2073 2074 // ------------- associations ------------------ 2075 2076 /** 2077 * TODO: Model Documentation for 2078 * org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade 2079 * @return (Collection<Role>)handleGetNonRunAsRoles() 2080 */ 2081 public final Collection<Role> getNonRunAsRoles() 2082 { 2083 Collection<Role> getNonRunAsRoles1r = null; 2084 // eJB3SessionOperationFacade has no pre constraints 2085 Collection result = handleGetNonRunAsRoles(); 2086 List shieldedResult = this.shieldedElements(result); 2087 try 2088 { 2089 getNonRunAsRoles1r = (Collection<Role>)shieldedResult; 2090 } 2091 catch (ClassCastException ex) 2092 { 2093 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 2094 EJB3SessionOperationFacadeLogic.logger.warn("incorrect metafacade cast for EJB3SessionOperationFacadeLogic.getNonRunAsRoles Collection<Role> " + result + ": " + shieldedResult); 2095 } 2096 // eJB3SessionOperationFacade has no post constraints 2097 return getNonRunAsRoles1r; 2098 } 2099 2100 /** 2101 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type 2102 * @return Collection 2103 */ 2104 protected abstract Collection handleGetNonRunAsRoles(); 2105 2106 /** 2107 * @return true 2108 * @see ServiceOperation 2109 */ 2110 public boolean isServiceOperationMetaType() 2111 { 2112 return true; 2113 } 2114 2115 /** 2116 * @return true 2117 * @see OperationFacade 2118 */ 2119 public boolean isOperationFacadeMetaType() 2120 { 2121 return true; 2122 } 2123 2124 /** 2125 * @return true 2126 * @see ModelElementFacade 2127 */ 2128 public boolean isModelElementFacadeMetaType() 2129 { 2130 return true; 2131 } 2132 2133 // ----------- delegates to ServiceOperation ------------ 2134 /** 2135 * Copies all tagged values from the given ModelElementFacade to this model element facade. 2136 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element) 2137 */ 2138 public void copyTaggedValues(ModelElementFacade element) 2139 { 2140 this.getSuperServiceOperation().copyTaggedValues(element); 2141 } 2142 2143 /** 2144 * Finds the tagged value with the specified 'tagName'. In case there are more values the first 2145 * one found will be returned. 2146 * @see ModelElementFacade#findTaggedValue(String tagName) 2147 */ 2148 public Object findTaggedValue(String tagName) 2149 { 2150 return this.getSuperServiceOperation().findTaggedValue(tagName); 2151 } 2152 2153 /** 2154 * Returns all the values for the tagged value with the specified name. The returned collection 2155 * will contains only String instances, or will be empty. Never null. 2156 * @see ModelElementFacade#findTaggedValues(String tagName) 2157 */ 2158 public Collection<Object> findTaggedValues(String tagName) 2159 { 2160 return this.getSuperServiceOperation().findTaggedValues(tagName); 2161 } 2162 2163 /** 2164 * Returns the fully qualified name of the model element. The fully qualified name includes 2165 * complete package qualified name of the underlying model element. The templates parameter will 2166 * be replaced by the correct one given the binding relation of the parameter to this element. 2167 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement) 2168 */ 2169 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement) 2170 { 2171 return this.getSuperServiceOperation().getBindedFullyQualifiedName(bindedElement); 2172 } 2173 2174 /** 2175 * Gets all constraints belonging to the model element. 2176 * @see ModelElementFacade#getConstraints() 2177 */ 2178 public Collection<ConstraintFacade> getConstraints() 2179 { 2180 return this.getSuperServiceOperation().getConstraints(); 2181 } 2182 2183 /** 2184 * Returns the constraints of the argument kind that have been placed onto this model. Typical 2185 * kinds are "inv", "pre" and "post". Other kinds are possible. 2186 * @see ModelElementFacade#getConstraints(String kind) 2187 */ 2188 public Collection<ConstraintFacade> getConstraints(String kind) 2189 { 2190 return this.getSuperServiceOperation().getConstraints(kind); 2191 } 2192 2193 /** 2194 * Gets the documentation for the model element, The indent argument is prefixed to each line. 2195 * By default this method wraps lines after 64 characters. 2196 * This method is equivalent to <code>getDocumentation(indent, 64)</code>. 2197 * @see ModelElementFacade#getDocumentation(String indent) 2198 */ 2199 public String getDocumentation(String indent) 2200 { 2201 return this.getSuperServiceOperation().getDocumentation(indent); 2202 } 2203 2204 /** 2205 * This method returns the documentation for this model element, with the lines wrapped after 2206 * the specified number of characters, values of less than 1 will indicate no line wrapping is 2207 * required. By default paragraphs are returned as HTML. 2208 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>. 2209 * @see ModelElementFacade#getDocumentation(String indent, int lineLength) 2210 */ 2211 public String getDocumentation(String indent, int lineLength) 2212 { 2213 return this.getSuperServiceOperation().getDocumentation(indent, lineLength); 2214 } 2215 2216 /** 2217 * This method returns the documentation for this model element, with the lines wrapped after 2218 * the specified number of characters, values of less than 1 will indicate no line wrapping is 2219 * required. HTML style determines if HTML Escaping is applied. 2220 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle) 2221 */ 2222 public String getDocumentation(String indent, int lineLength, boolean htmlStyle) 2223 { 2224 return this.getSuperServiceOperation().getDocumentation(indent, lineLength, htmlStyle); 2225 } 2226 2227 /** 2228 * The fully qualified name of this model element. 2229 * @see ModelElementFacade#getFullyQualifiedName() 2230 */ 2231 public String getFullyQualifiedName() 2232 { 2233 return this.getSuperServiceOperation().getFullyQualifiedName(); 2234 } 2235 2236 /** 2237 * Returns the fully qualified name of the model element. The fully qualified name includes 2238 * complete package qualified name of the underlying model element. If modelName is true, then 2239 * the original name of the model element (the name contained within the model) will be the name 2240 * returned, otherwise a name from a language mapping will be returned. 2241 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName) 2242 */ 2243 public String getFullyQualifiedName(boolean modelName) 2244 { 2245 return this.getSuperServiceOperation().getFullyQualifiedName(modelName); 2246 } 2247 2248 /** 2249 * Returns the fully qualified name as a path, the returned value always starts with out a slash 2250 * '/'. 2251 * @see ModelElementFacade#getFullyQualifiedNamePath() 2252 */ 2253 public String getFullyQualifiedNamePath() 2254 { 2255 return this.getSuperServiceOperation().getFullyQualifiedNamePath(); 2256 } 2257 2258 /** 2259 * Gets the unique identifier of the underlying model element. 2260 * @see ModelElementFacade#getId() 2261 */ 2262 public String getId() 2263 { 2264 return this.getSuperServiceOperation().getId(); 2265 } 2266 2267 /** 2268 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which 2269 * are not represented by other properties, i.e. native, transient, volatile, synchronized, 2270 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings: 2271 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require 2272 * JDK5 compiler level. 2273 * @see ModelElementFacade#getKeywords() 2274 */ 2275 public Collection<String> getKeywords() 2276 { 2277 return this.getSuperServiceOperation().getKeywords(); 2278 } 2279 2280 /** 2281 * UML2: Retrieves a localized label for this named element. 2282 * @see ModelElementFacade#getLabel() 2283 */ 2284 public String getLabel() 2285 { 2286 return this.getSuperServiceOperation().getLabel(); 2287 } 2288 2289 /** 2290 * The language mappings that have been set for this model element. 2291 * @see ModelElementFacade#getLanguageMappings() 2292 */ 2293 public TypeMappings getLanguageMappings() 2294 { 2295 return this.getSuperServiceOperation().getLanguageMappings(); 2296 } 2297 2298 /** 2299 * Return the model containing this model element (multiple models may be loaded and processed 2300 * at the same time). 2301 * @see ModelElementFacade#getModel() 2302 */ 2303 public ModelFacade getModel() 2304 { 2305 return this.getSuperServiceOperation().getModel(); 2306 } 2307 2308 /** 2309 * The name of the model element. 2310 * @see ModelElementFacade#getName() 2311 */ 2312 public String getName() 2313 { 2314 return this.getSuperServiceOperation().getName(); 2315 } 2316 2317 /** 2318 * Gets the package to which this model element belongs. 2319 * @see ModelElementFacade#getPackage() 2320 */ 2321 public ModelElementFacade getPackage() 2322 { 2323 return this.getSuperServiceOperation().getPackage(); 2324 } 2325 2326 /** 2327 * The name of this model element's package. 2328 * @see ModelElementFacade#getPackageName() 2329 */ 2330 public String getPackageName() 2331 { 2332 return this.getSuperServiceOperation().getPackageName(); 2333 } 2334 2335 /** 2336 * Gets the package name (optionally providing the ability to retrieve the model name and not 2337 * the mapped name). 2338 * @see ModelElementFacade#getPackageName(boolean modelName) 2339 */ 2340 public String getPackageName(boolean modelName) 2341 { 2342 return this.getSuperServiceOperation().getPackageName(modelName); 2343 } 2344 2345 /** 2346 * Returns the package as a path, the returned value always starts with out a slash '/'. 2347 * @see ModelElementFacade#getPackagePath() 2348 */ 2349 public String getPackagePath() 2350 { 2351 return this.getSuperServiceOperation().getPackagePath(); 2352 } 2353 2354 /** 2355 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the 2356 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from 2357 * the names of the containing namespaces starting at the root of the hierarchy and ending with 2358 * the name of the NamedElement itself. 2359 * @see ModelElementFacade#getQualifiedName() 2360 */ 2361 public String getQualifiedName() 2362 { 2363 return this.getSuperServiceOperation().getQualifiedName(); 2364 } 2365 2366 /** 2367 * Gets the root package for the model element. 2368 * @see ModelElementFacade#getRootPackage() 2369 */ 2370 public PackageFacade getRootPackage() 2371 { 2372 return this.getSuperServiceOperation().getRootPackage(); 2373 } 2374 2375 /** 2376 * Gets the dependencies for which this model element is the source. 2377 * @see ModelElementFacade#getSourceDependencies() 2378 */ 2379 public Collection<DependencyFacade> getSourceDependencies() 2380 { 2381 return this.getSuperServiceOperation().getSourceDependencies(); 2382 } 2383 2384 /** 2385 * If this model element is the context of an activity graph, this represents that activity 2386 * graph. 2387 * @see ModelElementFacade#getStateMachineContext() 2388 */ 2389 public StateMachineFacade getStateMachineContext() 2390 { 2391 return this.getSuperServiceOperation().getStateMachineContext(); 2392 } 2393 2394 /** 2395 * The collection of ALL stereotype names for this model element. 2396 * @see ModelElementFacade#getStereotypeNames() 2397 */ 2398 public Collection<String> getStereotypeNames() 2399 { 2400 return this.getSuperServiceOperation().getStereotypeNames(); 2401 } 2402 2403 /** 2404 * Gets all stereotypes for this model element. 2405 * @see ModelElementFacade#getStereotypes() 2406 */ 2407 public Collection<StereotypeFacade> getStereotypes() 2408 { 2409 return this.getSuperServiceOperation().getStereotypes(); 2410 } 2411 2412 /** 2413 * Return the TaggedValues associated with this model element, under all stereotypes. 2414 * @see ModelElementFacade#getTaggedValues() 2415 */ 2416 public Collection<TaggedValueFacade> getTaggedValues() 2417 { 2418 return this.getSuperServiceOperation().getTaggedValues(); 2419 } 2420 2421 /** 2422 * Gets the dependencies for which this model element is the target. 2423 * @see ModelElementFacade#getTargetDependencies() 2424 */ 2425 public Collection<DependencyFacade> getTargetDependencies() 2426 { 2427 return this.getSuperServiceOperation().getTargetDependencies(); 2428 } 2429 2430 /** 2431 * Get the template parameter for this model element having the parameterName 2432 * @see ModelElementFacade#getTemplateParameter(String parameterName) 2433 */ 2434 public Object getTemplateParameter(String parameterName) 2435 { 2436 return this.getSuperServiceOperation().getTemplateParameter(parameterName); 2437 } 2438 2439 /** 2440 * Get the template parameters for this model element 2441 * @see ModelElementFacade#getTemplateParameters() 2442 */ 2443 public Collection<TemplateParameterFacade> getTemplateParameters() 2444 { 2445 return this.getSuperServiceOperation().getTemplateParameters(); 2446 } 2447 2448 /** 2449 * The visibility (i.e. public, private, protected or package) of the model element, will 2450 * attempt a lookup for these values in the language mappings (if any). 2451 * @see ModelElementFacade#getVisibility() 2452 */ 2453 public String getVisibility() 2454 { 2455 return this.getSuperServiceOperation().getVisibility(); 2456 } 2457 2458 /** 2459 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance 2460 * is taken into account when searching for the stereotype), false otherwise. 2461 * @see ModelElementFacade#hasExactStereotype(String stereotypeName) 2462 */ 2463 public boolean hasExactStereotype(String stereotypeName) 2464 { 2465 return this.getSuperServiceOperation().hasExactStereotype(stereotypeName); 2466 } 2467 2468 /** 2469 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma, 2470 * pipe, semicolon, or << >> 2471 * @see ModelElementFacade#hasKeyword(String keywordName) 2472 */ 2473 public boolean hasKeyword(String keywordName) 2474 { 2475 return this.getSuperServiceOperation().hasKeyword(keywordName); 2476 } 2477 2478 /** 2479 * Returns true if the model element has the specified stereotype. If the stereotype itself 2480 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if 2481 * one of the stereotype's ancestors has a matching name this method will return true, false 2482 * otherwise. 2483 * For example, if we have a certain stereotype called <<exception>> and a model element has a 2484 * stereotype called <<applicationException>> which extends <<exception>>, when calling this 2485 * method with 'stereotypeName' defined as 'exception' the method would return true since 2486 * <<applicationException>> inherits from <<exception>>. If you want to check if the model 2487 * element has the exact stereotype, then use the method 'hasExactStereotype' instead. 2488 * @see ModelElementFacade#hasStereotype(String stereotypeName) 2489 */ 2490 public boolean hasStereotype(String stereotypeName) 2491 { 2492 return this.getSuperServiceOperation().hasStereotype(stereotypeName); 2493 } 2494 2495 /** 2496 * True if there are target dependencies from this element that are instances of BindingFacade. 2497 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies. 2498 * @see ModelElementFacade#isBindingDependenciesPresent() 2499 */ 2500 public boolean isBindingDependenciesPresent() 2501 { 2502 return this.getSuperServiceOperation().isBindingDependenciesPresent(); 2503 } 2504 2505 /** 2506 * Indicates if any constraints are present on this model element. 2507 * @see ModelElementFacade#isConstraintsPresent() 2508 */ 2509 public boolean isConstraintsPresent() 2510 { 2511 return this.getSuperServiceOperation().isConstraintsPresent(); 2512 } 2513 2514 /** 2515 * Indicates if any documentation is present on this model element. 2516 * @see ModelElementFacade#isDocumentationPresent() 2517 */ 2518 public boolean isDocumentationPresent() 2519 { 2520 return this.getSuperServiceOperation().isDocumentationPresent(); 2521 } 2522 2523 /** 2524 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript. 2525 * @see ModelElementFacade#isReservedWord() 2526 */ 2527 public boolean isReservedWord() 2528 { 2529 return this.getSuperServiceOperation().isReservedWord(); 2530 } 2531 2532 /** 2533 * True is there are template parameters on this model element. For UML2, applies to Class, 2534 * Operation, Property, and Parameter. 2535 * @see ModelElementFacade#isTemplateParametersPresent() 2536 */ 2537 public boolean isTemplateParametersPresent() 2538 { 2539 return this.getSuperServiceOperation().isTemplateParametersPresent(); 2540 } 2541 2542 /** 2543 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++, 2544 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on 2545 * Enumerations and Interfaces, optionally applies on other model elements. 2546 * @see ModelElementFacade#isValidIdentifierName() 2547 */ 2548 public boolean isValidIdentifierName() 2549 { 2550 return this.getSuperServiceOperation().isValidIdentifierName(); 2551 } 2552 2553 /** 2554 * Searches for the constraint with the specified 'name' on this model element, and if found 2555 * translates it using the specified 'translation' from a translation library discovered by the 2556 * framework. 2557 * @see ModelElementFacade#translateConstraint(String name, String translation) 2558 */ 2559 public String translateConstraint(String name, String translation) 2560 { 2561 return this.getSuperServiceOperation().translateConstraint(name, translation); 2562 } 2563 2564 /** 2565 * Translates all constraints belonging to this model element with the given 'translation'. 2566 * @see ModelElementFacade#translateConstraints(String translation) 2567 */ 2568 public String[] translateConstraints(String translation) 2569 { 2570 return this.getSuperServiceOperation().translateConstraints(translation); 2571 } 2572 2573 /** 2574 * Translates the constraints of the specified 'kind' belonging to this model element. 2575 * @see ModelElementFacade#translateConstraints(String kind, String translation) 2576 */ 2577 public String[] translateConstraints(String kind, String translation) 2578 { 2579 return this.getSuperServiceOperation().translateConstraints(kind, translation); 2580 } 2581 2582 /** 2583 * Finds the parameter on this operation having the given name, if no parameter is found, null 2584 * is returned instead. 2585 * @see OperationFacade#findParameter(String name) 2586 */ 2587 public ParameterFacade findParameter(String name) 2588 { 2589 return this.getSuperServiceOperation().findParameter(name); 2590 } 2591 2592 /** 2593 * Searches the given feature for the specified tag. 2594 * If the follow boolean is set to true then the search will continue from the class operation 2595 * to the class itself and then up the class hierarchy. 2596 * @see OperationFacade#findTaggedValue(String name, boolean follow) 2597 */ 2598 public Object findTaggedValue(String name, boolean follow) 2599 { 2600 return this.getSuperServiceOperation().findTaggedValue(name, follow); 2601 } 2602 2603 /** 2604 * A comma separated list of all argument names. 2605 * @see OperationFacade#getArgumentNames() 2606 */ 2607 public String getArgumentNames() 2608 { 2609 return this.getSuperServiceOperation().getArgumentNames(); 2610 } 2611 2612 /** 2613 * A comma separated list of all types of each argument, in order. 2614 * @see OperationFacade#getArgumentTypeNames() 2615 */ 2616 public String getArgumentTypeNames() 2617 { 2618 return this.getSuperServiceOperation().getArgumentTypeNames(); 2619 } 2620 2621 /** 2622 * Specification of an argument used to pass information into or out of an invocation of a 2623 * behavioral 2624 * feature. Parameters are allowed to be treated as connectable elements. Parameters have 2625 * support for 2626 * streaming, exceptions, and parameter sets. 2627 * @see OperationFacade#getArguments() 2628 */ 2629 public Collection<ParameterFacade> getArguments() 2630 { 2631 return this.getSuperServiceOperation().getArguments(); 2632 } 2633 2634 /** 2635 * Constructs the operation call with the operation name 2636 * @see OperationFacade#getCall() 2637 */ 2638 public String getCall() 2639 { 2640 return this.getSuperServiceOperation().getCall(); 2641 } 2642 2643 /** 2644 * Returns the concurrency modifier for this operation (i.e. concurrent, guarded or sequential) 2645 * of the model element, will attempt a lookup for these values in the language mappings (if 2646 * any). 2647 * @see OperationFacade#getConcurrency() 2648 */ 2649 public String getConcurrency() 2650 { 2651 return this.getSuperServiceOperation().getConcurrency(); 2652 } 2653 2654 /** 2655 * A comma separated list containing all exceptions that this operation throws. Exceptions are 2656 * determined through dependencies that have the target element stereotyped as <<Exception>>. 2657 * @see OperationFacade#getExceptionList() 2658 */ 2659 public String getExceptionList() 2660 { 2661 return this.getSuperServiceOperation().getExceptionList(); 2662 } 2663 2664 /** 2665 * Returns a comma separated list of exceptions appended to the comma separated list of fully 2666 * qualified 'initialException' classes passed in to this method. 2667 * @see OperationFacade#getExceptionList(String initialExceptions) 2668 */ 2669 public String getExceptionList(String initialExceptions) 2670 { 2671 return this.getSuperServiceOperation().getExceptionList(initialExceptions); 2672 } 2673 2674 /** 2675 * A collection of all exceptions thrown by this operation. 2676 * @see OperationFacade#getExceptions() 2677 */ 2678 public Collection<ModelElementFacade> getExceptions() 2679 { 2680 return this.getSuperServiceOperation().getExceptions(); 2681 } 2682 2683 /** 2684 * Return Type with multiplicity taken into account. UML14 does not allow multiplicity *. 2685 * @see OperationFacade#getGetterSetterReturnTypeName() 2686 */ 2687 public String getGetterSetterReturnTypeName() 2688 { 2689 return this.getSuperServiceOperation().getGetterSetterReturnTypeName(); 2690 } 2691 2692 /** 2693 * the lower value for the multiplicity 2694 * -only applicable for UML2 2695 * @see OperationFacade#getLower() 2696 */ 2697 public int getLower() 2698 { 2699 return this.getSuperServiceOperation().getLower(); 2700 } 2701 2702 /** 2703 * Returns the operation method body determined from UML sequence diagrams or other UML sources. 2704 * @see OperationFacade#getMethodBody() 2705 */ 2706 public String getMethodBody() 2707 { 2708 return this.getSuperServiceOperation().getMethodBody(); 2709 } 2710 2711 /** 2712 * The operation this operation overrides, null if this operation is not overriding. 2713 * @see OperationFacade#getOverriddenOperation() 2714 */ 2715 public OperationFacade getOverriddenOperation() 2716 { 2717 return this.getSuperServiceOperation().getOverriddenOperation(); 2718 } 2719 2720 /** 2721 * Gets the owner of this operation 2722 * @see OperationFacade#getOwner() 2723 */ 2724 public ClassifierFacade getOwner() 2725 { 2726 return this.getSuperServiceOperation().getOwner(); 2727 } 2728 2729 /** 2730 * Return all parameters for the operation, including the return parameter. 2731 * @see OperationFacade#getParameters() 2732 */ 2733 public Collection<ParameterFacade> getParameters() 2734 { 2735 return this.getSuperServiceOperation().getParameters(); 2736 } 2737 2738 /** 2739 * The name of the operation that handles postcondition constraints. 2740 * @see OperationFacade#getPostconditionName() 2741 */ 2742 public String getPostconditionName() 2743 { 2744 return this.getSuperServiceOperation().getPostconditionName(); 2745 } 2746 2747 /** 2748 * The postcondition constraints belonging to this operation. 2749 * @see OperationFacade#getPostconditions() 2750 */ 2751 public Collection<ConstraintFacade> getPostconditions() 2752 { 2753 return this.getSuperServiceOperation().getPostconditions(); 2754 } 2755 2756 /** 2757 * The call to the precondition operation. 2758 * @see OperationFacade#getPreconditionCall() 2759 */ 2760 public String getPreconditionCall() 2761 { 2762 return this.getSuperServiceOperation().getPreconditionCall(); 2763 } 2764 2765 /** 2766 * The name of the operation that handles precondition constraints. 2767 * @see OperationFacade#getPreconditionName() 2768 */ 2769 public String getPreconditionName() 2770 { 2771 return this.getSuperServiceOperation().getPreconditionName(); 2772 } 2773 2774 /** 2775 * The signature of the precondition operation. 2776 * @see OperationFacade#getPreconditionSignature() 2777 */ 2778 public String getPreconditionSignature() 2779 { 2780 return this.getSuperServiceOperation().getPreconditionSignature(); 2781 } 2782 2783 /** 2784 * The precondition constraints belonging to this operation. 2785 * @see OperationFacade#getPreconditions() 2786 */ 2787 public Collection<ConstraintFacade> getPreconditions() 2788 { 2789 return this.getSuperServiceOperation().getPreconditions(); 2790 } 2791 2792 /** 2793 * (UML2 Only). Get the actual return parameter (which may have stereotypes etc). 2794 * @see OperationFacade#getReturnParameter() 2795 */ 2796 public ParameterFacade getReturnParameter() 2797 { 2798 return this.getSuperServiceOperation().getReturnParameter(); 2799 } 2800 2801 /** 2802 * The operation return type parameter. 2803 * @see OperationFacade#getReturnType() 2804 */ 2805 public ClassifierFacade getReturnType() 2806 { 2807 return this.getSuperServiceOperation().getReturnType(); 2808 } 2809 2810 /** 2811 * Return the operation signature, including public/protested abstract returnType name plus 2812 * argument type and name 2813 * @see OperationFacade#getSignature() 2814 */ 2815 public String getSignature() 2816 { 2817 return this.getSuperServiceOperation().getSignature(); 2818 } 2819 2820 /** 2821 * Returns the signature of the operation and optionally appends the argument names (if 2822 * withArgumentNames is true), otherwise returns the signature with just the types alone in the 2823 * signature. 2824 * @see OperationFacade#getSignature(boolean withArgumentNames) 2825 */ 2826 public String getSignature(boolean withArgumentNames) 2827 { 2828 return this.getSuperServiceOperation().getSignature(withArgumentNames); 2829 } 2830 2831 /** 2832 * Returns the signature of the operation and optionally appends the given 'argumentModifier' to 2833 * each argument. 2834 * @see OperationFacade#getSignature(String argumentModifier) 2835 */ 2836 public String getSignature(String argumentModifier) 2837 { 2838 return this.getSuperServiceOperation().getSignature(argumentModifier); 2839 } 2840 2841 /** 2842 * A comma-separated parameter list (type and name of each parameter) of an operation. 2843 * @see OperationFacade#getTypedArgumentList() 2844 */ 2845 public String getTypedArgumentList() 2846 { 2847 return this.getSuperServiceOperation().getTypedArgumentList(); 2848 } 2849 2850 /** 2851 * A comma-separated parameter list (type and name of each parameter) of an operation with an 2852 * optional modifier (i.e final) before each parameter. 2853 * @see OperationFacade#getTypedArgumentList(String modifier) 2854 */ 2855 public String getTypedArgumentList(String modifier) 2856 { 2857 return this.getSuperServiceOperation().getTypedArgumentList(modifier); 2858 } 2859 2860 /** 2861 * the upper value for the multiplicity (will be -1 for *) 2862 * - only applicable for UML2 2863 * @see OperationFacade#getUpper() 2864 */ 2865 public int getUpper() 2866 { 2867 return this.getSuperServiceOperation().getUpper(); 2868 } 2869 2870 /** 2871 * True is the operation is abstract. 2872 * @see OperationFacade#isAbstract() 2873 */ 2874 public boolean isAbstract() 2875 { 2876 return this.getSuperServiceOperation().isAbstract(); 2877 } 2878 2879 /** 2880 * True if the operation has (i.e. throws any exceptions) false otherwise. 2881 * @see OperationFacade#isExceptionsPresent() 2882 */ 2883 public boolean isExceptionsPresent() 2884 { 2885 return this.getSuperServiceOperation().isExceptionsPresent(); 2886 } 2887 2888 /** 2889 * IsLeaf property in the operation. If true, operation is final, cannot be extended or 2890 * implemented by a descendant. Default=false. 2891 * @see OperationFacade#isLeaf() 2892 */ 2893 public boolean isLeaf() 2894 { 2895 return this.getSuperServiceOperation().isLeaf(); 2896 } 2897 2898 /** 2899 * UML2 only. If the return type parameter multiplicity>1 OR the operation multiplicity>1. 2900 * Default=false. 2901 * @see OperationFacade#isMany() 2902 */ 2903 public boolean isMany() 2904 { 2905 return this.getSuperServiceOperation().isMany(); 2906 } 2907 2908 /** 2909 * UML2 only: If isMany (Collection type returned), is the type unique within the collection. 2910 * Unique+Ordered determines CollectionType implementation of return result. Default=false. 2911 * @see OperationFacade#isOrdered() 2912 */ 2913 public boolean isOrdered() 2914 { 2915 return this.getSuperServiceOperation().isOrdered(); 2916 } 2917 2918 /** 2919 * True if this operation overrides an operation defined in an ancestor class. An operation 2920 * overrides when the names of the operations as well as the types of the arguments are equal. 2921 * The return type may be different and is, as well as any exceptions, ignored. 2922 * @see OperationFacade#isOverriding() 2923 */ 2924 public boolean isOverriding() 2925 { 2926 return this.getSuperServiceOperation().isOverriding(); 2927 } 2928 2929 /** 2930 * Whether any postcondition constraints are present on this operation. 2931 * @see OperationFacade#isPostconditionsPresent() 2932 */ 2933 public boolean isPostconditionsPresent() 2934 { 2935 return this.getSuperServiceOperation().isPostconditionsPresent(); 2936 } 2937 2938 /** 2939 * Whether any precondition constraints are present on this operation. 2940 * @see OperationFacade#isPreconditionsPresent() 2941 */ 2942 public boolean isPreconditionsPresent() 2943 { 2944 return this.getSuperServiceOperation().isPreconditionsPresent(); 2945 } 2946 2947 /** 2948 * Indicates whether or not this operation is a query operation. 2949 * @see OperationFacade#isQuery() 2950 */ 2951 public boolean isQuery() 2952 { 2953 return this.getSuperServiceOperation().isQuery(); 2954 } 2955 2956 /** 2957 * True/false depending on whether or not the operation has a return type or not (i.e. a return 2958 * type of something other than void). 2959 * @see OperationFacade#isReturnTypePresent() 2960 */ 2961 public boolean isReturnTypePresent() 2962 { 2963 return this.getSuperServiceOperation().isReturnTypePresent(); 2964 } 2965 2966 /** 2967 * True is the operation is static (only a single instance can be instantiated). 2968 * @see OperationFacade#isStatic() 2969 */ 2970 public boolean isStatic() 2971 { 2972 return this.getSuperServiceOperation().isStatic(); 2973 } 2974 2975 /** 2976 * UML2 only: for Collection return type, is the type unique within the collection. 2977 * Unique+Ordered determines the returned CollectionType. Default=false. 2978 * @see OperationFacade#isUnique() 2979 */ 2980 public boolean isUnique() 2981 { 2982 return this.getSuperServiceOperation().isUnique(); 2983 } 2984 2985 /** 2986 * The destination for any incoming messages. 2987 * @see ServiceOperation#getIncomingDestination() 2988 */ 2989 public Destination getIncomingDestination() 2990 { 2991 return this.getSuperServiceOperation().getIncomingDestination(); 2992 } 2993 2994 /** 2995 * The destination for any outgoing messages. 2996 * @see ServiceOperation#getOutgoingDestination() 2997 */ 2998 public Destination getOutgoingDestination() 2999 { 3000 return this.getSuperServiceOperation().getOutgoingDestination(); 3001 } 3002 3003 /** 3004 * The users of the service operation, these are the actor's that can access this operation. 3005 * @see ServiceOperation#getRoles() 3006 */ 3007 public Collection<Role> getRoles() 3008 { 3009 return this.getSuperServiceOperation().getRoles(); 3010 } 3011 3012 /** 3013 * The service which owns the service operation. 3014 * @see ServiceOperation#getService() 3015 */ 3016 public Service getService() 3017 { 3018 return this.getSuperServiceOperation().getService(); 3019 } 3020 3021 /** 3022 * Whether or not this operation represents an "incoming" message operation (i.e. it receives 3023 * messages from Queues or Topics). 3024 * @see ServiceOperation#isIncomingMessageOperation() 3025 */ 3026 public boolean isIncomingMessageOperation() 3027 { 3028 return this.getSuperServiceOperation().isIncomingMessageOperation(); 3029 } 3030 3031 /** 3032 * Whether or not this is operation accepts incoming or outgoing messages. 3033 * @see ServiceOperation#isMessageOperation() 3034 */ 3035 public boolean isMessageOperation() 3036 { 3037 return this.getSuperServiceOperation().isMessageOperation(); 3038 } 3039 3040 /** 3041 * Whether or not this service operation represents an "outgoing" messaging operation (i.e. it 3042 * sends messages to Queues or Topics). 3043 * @see ServiceOperation#isOutgoingMessageOperation() 3044 */ 3045 public boolean isOutgoingMessageOperation() 3046 { 3047 return this.getSuperServiceOperation().isOutgoingMessageOperation(); 3048 } 3049 3050 /** 3051 * @see org.andromda.core.metafacade.MetafacadeBase#initialize() 3052 */ 3053 @Override 3054 public void initialize() 3055 { 3056 this.getSuperServiceOperation().initialize(); 3057 } 3058 3059 /** 3060 * @return Object getSuperServiceOperation().getValidationOwner() 3061 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner() 3062 */ 3063 @Override 3064 public Object getValidationOwner() 3065 { 3066 Object owner = this.getSuperServiceOperation().getValidationOwner(); 3067 return owner; 3068 } 3069 3070 /** 3071 * @return String getSuperServiceOperation().getValidationName() 3072 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName() 3073 */ 3074 @Override 3075 public String getValidationName() 3076 { 3077 String name = this.getSuperServiceOperation().getValidationName(); 3078 return name; 3079 } 3080 3081 /** 3082 * @param validationMessages Collection<ModelValidationMessage> 3083 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages) 3084 */ 3085 @Override 3086 public void validateInvariants(Collection<ModelValidationMessage> validationMessages) 3087 { 3088 this.getSuperServiceOperation().validateInvariants(validationMessages); 3089 } 3090 3091 /** 3092 * The property that stores the name of the metafacade. 3093 */ 3094 private static final String NAME_PROPERTY = "name"; 3095 private static final String FQNAME_PROPERTY = "fullyQualifiedName"; 3096 3097 /** 3098 * @see Object#toString() 3099 */ 3100 @Override 3101 public String toString() 3102 { 3103 final StringBuilder toString = new StringBuilder(this.getClass().getName()); 3104 toString.append("["); 3105 try 3106 { 3107 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY)); 3108 } 3109 catch (final Throwable tryAgain) 3110 { 3111 try 3112 { 3113 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY)); 3114 } 3115 catch (final Throwable ignore) 3116 { 3117 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property 3118 } 3119 } 3120 toString.append("]"); 3121 return toString.toString(); 3122 } 3123}