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.AssociationEndFacade; 014import org.andromda.metafacades.uml.AttributeFacade; 015import org.andromda.metafacades.uml.ClassifierFacade; 016import org.andromda.metafacades.uml.ConstraintFacade; 017import org.andromda.metafacades.uml.DependencyFacade; 018import org.andromda.metafacades.uml.Destination; 019import org.andromda.metafacades.uml.GeneralizableElementFacade; 020import org.andromda.metafacades.uml.GeneralizationFacade; 021import org.andromda.metafacades.uml.ModelElementFacade; 022import org.andromda.metafacades.uml.ModelFacade; 023import org.andromda.metafacades.uml.OperationFacade; 024import org.andromda.metafacades.uml.PackageFacade; 025import org.andromda.metafacades.uml.Role; 026import org.andromda.metafacades.uml.Service; 027import org.andromda.metafacades.uml.StateMachineFacade; 028import org.andromda.metafacades.uml.StereotypeFacade; 029import org.andromda.metafacades.uml.TaggedValueFacade; 030import org.andromda.metafacades.uml.TemplateParameterFacade; 031import org.andromda.metafacades.uml.TypeMappings; 032 033/** 034 * Represents a message driven EJB. 035 * MetafacadeLogic for EJB3MessageDrivenFacade 036 * 037 * @see EJB3MessageDrivenFacade 038 */ 039public abstract class EJB3MessageDrivenFacadeLogic 040 extends MetafacadeBase 041 implements EJB3MessageDrivenFacade 042{ 043 /** 044 * The underlying UML object 045 * @see Object 046 */ 047 protected Object metaObject; 048 049 /** Create Metafacade implementation instance using the MetafacadeFactory from the context 050 * @param metaObjectIn 051 * @param context 052 */ 053 protected EJB3MessageDrivenFacadeLogic(Object metaObjectIn, String context) 054 { 055 super(metaObjectIn, getContext(context)); 056 this.superService = 057 (Service) 058 MetafacadeFactory.getInstance().createFacadeImpl( 059 "org.andromda.metafacades.uml.Service", 060 metaObjectIn, 061 getContext(context)); 062 this.metaObject = metaObjectIn; 063 } 064 065 /** 066 * Gets the context for this metafacade logic instance. 067 * @param context String. Set to EJB3MessageDrivenFacade if null 068 * @return context String 069 */ 070 private static String getContext(String context) 071 { 072 if (context == null) 073 { 074 context = "org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade"; 075 } 076 return context; 077 } 078 079 private Service superService; 080 private boolean superServiceInitialized = false; 081 082 /** 083 * Gets the Service parent instance. 084 * @return this.superService Service 085 */ 086 private Service getSuperService() 087 { 088 if (!this.superServiceInitialized) 089 { 090 ((MetafacadeBase)this.superService).setMetafacadeContext(this.getMetafacadeContext()); 091 this.superServiceInitialized = true; 092 } 093 return this.superService; 094 } 095 096 /** Reset context only for non-root metafacades 097 * @param context 098 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context) 099 */ 100 @Override 101 public void resetMetafacadeContext(String context) 102 { 103 if (!this.contextRoot) // reset context only for non-root metafacades 104 { 105 context = getContext(context); // to have same value as in original constructor call 106 setMetafacadeContext (context); 107 if (this.superServiceInitialized) 108 { 109 ((MetafacadeBase)this.superService).resetMetafacadeContext(context); 110 } 111 } 112 } 113 114 /** 115 * @return boolean true always 116 * @see EJB3MessageDrivenFacade 117 */ 118 public boolean isEJB3MessageDrivenFacadeMetaType() 119 { 120 return true; 121 } 122 123 // --------------- attributes --------------------- 124 125 /** 126 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getAcknowledgeMode() 127 * @return String 128 */ 129 protected abstract String handleGetAcknowledgeMode(); 130 131 private String __acknowledgeMode1a; 132 private boolean __acknowledgeMode1aSet = false; 133 134 /** 135 * Returns the acknowledge mode for this JMS message driven bean. This is automatically handled 136 * by the container. EJB 3.0 spec states: 137 * For container managed transaction demarcation, message acknowledgment is automatically 138 * handled as part of transaction commit. If bean-managed transaction demarcation is used, the 139 * message receipt cannot be part of the bean-managed transaction, therefore the receipt is 140 * acknowledged by the container. If this property is not specified, AUTO_ACKNOWLEDGE semantics 141 * is assumed. 142 * Possible values are AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE. 143 * @return (String)handleGetAcknowledgeMode() 144 */ 145 public final String getAcknowledgeMode() 146 { 147 String acknowledgeMode1a = this.__acknowledgeMode1a; 148 if (!this.__acknowledgeMode1aSet) 149 { 150 // acknowledgeMode has no pre constraints 151 acknowledgeMode1a = handleGetAcknowledgeMode(); 152 // acknowledgeMode has no post constraints 153 this.__acknowledgeMode1a = acknowledgeMode1a; 154 if (isMetafacadePropertyCachingEnabled()) 155 { 156 this.__acknowledgeMode1aSet = true; 157 } 158 } 159 return acknowledgeMode1a; 160 } 161 162 /** 163 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getDestination() 164 * @return String 165 */ 166 protected abstract String handleGetDestination(); 167 168 private String __destination2a; 169 private boolean __destination2aSet = false; 170 171 /** 172 * Returns the destination queue or topic JNDI name this message driven bean is associated with. 173 * @return (String)handleGetDestination() 174 */ 175 public final String getDestination() 176 { 177 String destination2a = this.__destination2a; 178 if (!this.__destination2aSet) 179 { 180 // destination has no pre constraints 181 destination2a = handleGetDestination(); 182 // destination has no post constraints 183 this.__destination2a = destination2a; 184 if (isMetafacadePropertyCachingEnabled()) 185 { 186 this.__destination2aSet = true; 187 } 188 } 189 return destination2a; 190 } 191 192 /** 193 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getDestinationType() 194 * @return String 195 */ 196 protected abstract String handleGetDestinationType(); 197 198 private String __destinationType3a; 199 private boolean __destinationType3aSet = false; 200 201 /** 202 * Returns the destination type of the message driven bean. Possible values are javax.jms.Queue 203 * or javax.jms.Topic. 204 * Queues ensure that messages are not missed, even if the EJB server is not running. Same 205 * applis to durable topic subscriptions. 206 * @return (String)handleGetDestinationType() 207 */ 208 public final String getDestinationType() 209 { 210 String destinationType3a = this.__destinationType3a; 211 if (!this.__destinationType3aSet) 212 { 213 // destinationType has no pre constraints 214 destinationType3a = handleGetDestinationType(); 215 // destinationType has no post constraints 216 this.__destinationType3a = destinationType3a; 217 if (isMetafacadePropertyCachingEnabled()) 218 { 219 this.__destinationType3aSet = true; 220 } 221 } 222 return destinationType3a; 223 } 224 225 /** 226 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getFullyQualifiedMessageDrivenImplementationName() 227 * @return String 228 */ 229 protected abstract String handleGetFullyQualifiedMessageDrivenImplementationName(); 230 231 private String __fullyQualifiedMessageDrivenImplementationName4a; 232 private boolean __fullyQualifiedMessageDrivenImplementationName4aSet = false; 233 234 /** 235 * Returns the fully qualified message driven bean implementation name. 236 * @return (String)handleGetFullyQualifiedMessageDrivenImplementationName() 237 */ 238 public final String getFullyQualifiedMessageDrivenImplementationName() 239 { 240 String fullyQualifiedMessageDrivenImplementationName4a = this.__fullyQualifiedMessageDrivenImplementationName4a; 241 if (!this.__fullyQualifiedMessageDrivenImplementationName4aSet) 242 { 243 // fullyQualifiedMessageDrivenImplementationName has no pre constraints 244 fullyQualifiedMessageDrivenImplementationName4a = handleGetFullyQualifiedMessageDrivenImplementationName(); 245 // fullyQualifiedMessageDrivenImplementationName has no post constraints 246 this.__fullyQualifiedMessageDrivenImplementationName4a = fullyQualifiedMessageDrivenImplementationName4a; 247 if (isMetafacadePropertyCachingEnabled()) 248 { 249 this.__fullyQualifiedMessageDrivenImplementationName4aSet = true; 250 } 251 } 252 return fullyQualifiedMessageDrivenImplementationName4a; 253 } 254 255 /** 256 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getFullyQualifiedMessageDrivenListenerName() 257 * @return String 258 */ 259 protected abstract String handleGetFullyQualifiedMessageDrivenListenerName(); 260 261 private String __fullyQualifiedMessageDrivenListenerName5a; 262 private boolean __fullyQualifiedMessageDrivenListenerName5aSet = false; 263 264 /** 265 * Returns the fully qualified message driven bean listener name. 266 * @return (String)handleGetFullyQualifiedMessageDrivenListenerName() 267 */ 268 public final String getFullyQualifiedMessageDrivenListenerName() 269 { 270 String fullyQualifiedMessageDrivenListenerName5a = this.__fullyQualifiedMessageDrivenListenerName5a; 271 if (!this.__fullyQualifiedMessageDrivenListenerName5aSet) 272 { 273 // fullyQualifiedMessageDrivenListenerName has no pre constraints 274 fullyQualifiedMessageDrivenListenerName5a = handleGetFullyQualifiedMessageDrivenListenerName(); 275 // fullyQualifiedMessageDrivenListenerName has no post constraints 276 this.__fullyQualifiedMessageDrivenListenerName5a = fullyQualifiedMessageDrivenListenerName5a; 277 if (isMetafacadePropertyCachingEnabled()) 278 { 279 this.__fullyQualifiedMessageDrivenListenerName5aSet = true; 280 } 281 } 282 return fullyQualifiedMessageDrivenListenerName5a; 283 } 284 285 /** 286 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getFullyQualifiedMessageDrivenName() 287 * @return String 288 */ 289 protected abstract String handleGetFullyQualifiedMessageDrivenName(); 290 291 private String __fullyQualifiedMessageDrivenName6a; 292 private boolean __fullyQualifiedMessageDrivenName6aSet = false; 293 294 /** 295 * Returns the fully qualified message driven bean name. 296 * @return (String)handleGetFullyQualifiedMessageDrivenName() 297 */ 298 public final String getFullyQualifiedMessageDrivenName() 299 { 300 String fullyQualifiedMessageDrivenName6a = this.__fullyQualifiedMessageDrivenName6a; 301 if (!this.__fullyQualifiedMessageDrivenName6aSet) 302 { 303 // fullyQualifiedMessageDrivenName has no pre constraints 304 fullyQualifiedMessageDrivenName6a = handleGetFullyQualifiedMessageDrivenName(); 305 // fullyQualifiedMessageDrivenName has no post constraints 306 this.__fullyQualifiedMessageDrivenName6a = fullyQualifiedMessageDrivenName6a; 307 if (isMetafacadePropertyCachingEnabled()) 308 { 309 this.__fullyQualifiedMessageDrivenName6aSet = true; 310 } 311 } 312 return fullyQualifiedMessageDrivenName6a; 313 } 314 315 /** 316 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMessageDrivenImplementationName() 317 * @return String 318 */ 319 protected abstract String handleGetMessageDrivenImplementationName(); 320 321 private String __messageDrivenImplementationName7a; 322 private boolean __messageDrivenImplementationName7aSet = false; 323 324 /** 325 * Returns the message driven bean implementation name. 326 * @return (String)handleGetMessageDrivenImplementationName() 327 */ 328 public final String getMessageDrivenImplementationName() 329 { 330 String messageDrivenImplementationName7a = this.__messageDrivenImplementationName7a; 331 if (!this.__messageDrivenImplementationName7aSet) 332 { 333 // messageDrivenImplementationName has no pre constraints 334 messageDrivenImplementationName7a = handleGetMessageDrivenImplementationName(); 335 // messageDrivenImplementationName has no post constraints 336 this.__messageDrivenImplementationName7a = messageDrivenImplementationName7a; 337 if (isMetafacadePropertyCachingEnabled()) 338 { 339 this.__messageDrivenImplementationName7aSet = true; 340 } 341 } 342 return messageDrivenImplementationName7a; 343 } 344 345 /** 346 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMessageDrivenListenerName() 347 * @return String 348 */ 349 protected abstract String handleGetMessageDrivenListenerName(); 350 351 private String __messageDrivenListenerName8a; 352 private boolean __messageDrivenListenerName8aSet = false; 353 354 /** 355 * Returns the message driven bean callback listener name. 356 * @return (String)handleGetMessageDrivenListenerName() 357 */ 358 public final String getMessageDrivenListenerName() 359 { 360 String messageDrivenListenerName8a = this.__messageDrivenListenerName8a; 361 if (!this.__messageDrivenListenerName8aSet) 362 { 363 // messageDrivenListenerName has no pre constraints 364 messageDrivenListenerName8a = handleGetMessageDrivenListenerName(); 365 // messageDrivenListenerName has no post constraints 366 this.__messageDrivenListenerName8a = messageDrivenListenerName8a; 367 if (isMetafacadePropertyCachingEnabled()) 368 { 369 this.__messageDrivenListenerName8aSet = true; 370 } 371 } 372 return messageDrivenListenerName8a; 373 } 374 375 /** 376 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMessageDrivenName() 377 * @return String 378 */ 379 protected abstract String handleGetMessageDrivenName(); 380 381 private String __messageDrivenName9a; 382 private boolean __messageDrivenName9aSet = false; 383 384 /** 385 * Returns message driven bean name. 386 * @return (String)handleGetMessageDrivenName() 387 */ 388 public final String getMessageDrivenName() 389 { 390 String messageDrivenName9a = this.__messageDrivenName9a; 391 if (!this.__messageDrivenName9aSet) 392 { 393 // messageDrivenName has no pre constraints 394 messageDrivenName9a = handleGetMessageDrivenName(); 395 // messageDrivenName has no post constraints 396 this.__messageDrivenName9a = messageDrivenName9a; 397 if (isMetafacadePropertyCachingEnabled()) 398 { 399 this.__messageDrivenName9aSet = true; 400 } 401 } 402 return messageDrivenName9a; 403 } 404 405 /** 406 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMessageSelector() 407 * @return String 408 */ 409 protected abstract String handleGetMessageSelector(); 410 411 private String __messageSelector10a; 412 private boolean __messageSelector10aSet = false; 413 414 /** 415 * Returns the JMS message selector used when determining the messages a message driven bean is 416 * to receive. 417 * @return (String)handleGetMessageSelector() 418 */ 419 public final String getMessageSelector() 420 { 421 String messageSelector10a = this.__messageSelector10a; 422 if (!this.__messageSelector10aSet) 423 { 424 // messageSelector has no pre constraints 425 messageSelector10a = handleGetMessageSelector(); 426 // messageSelector has no post constraints 427 this.__messageSelector10a = messageSelector10a; 428 if (isMetafacadePropertyCachingEnabled()) 429 { 430 this.__messageSelector10aSet = true; 431 } 432 } 433 return messageSelector10a; 434 } 435 436 /** 437 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getRunAs() 438 * @return String 439 */ 440 protected abstract String handleGetRunAs(); 441 442 private String __runAs11a; 443 private boolean __runAs11aSet = false; 444 445 /** 446 * Returns the run-as identity for the message driven bean which is used to establish the 447 * identity the bean will use when making calls. It does not affect the identity of the 448 * callers. 449 * @return (String)handleGetRunAs() 450 */ 451 public final String getRunAs() 452 { 453 String runAs11a = this.__runAs11a; 454 if (!this.__runAs11aSet) 455 { 456 // runAs has no pre constraints 457 runAs11a = handleGetRunAs(); 458 // runAs has no post constraints 459 this.__runAs11a = runAs11a; 460 if (isMetafacadePropertyCachingEnabled()) 461 { 462 this.__runAs11aSet = true; 463 } 464 } 465 return runAs11a; 466 } 467 468 /** 469 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getSubscriptionDurability() 470 * @return String 471 */ 472 protected abstract String handleGetSubscriptionDurability(); 473 474 private String __subscriptionDurability12a; 475 private boolean __subscriptionDurability12aSet = false; 476 477 /** 478 * If the message driven bean is associated with a topic, then this will return the subscription 479 * durability. Possible values are Durable or NonDurable. By default, if a topic subscription 480 * is not specified, the non-durable subscription is assumed. 481 * Durable topic subscriptions ensure that messages are not missed, even if the EJB server is 482 * not running. 483 * @return (String)handleGetSubscriptionDurability() 484 */ 485 public final String getSubscriptionDurability() 486 { 487 String subscriptionDurability12a = this.__subscriptionDurability12a; 488 if (!this.__subscriptionDurability12aSet) 489 { 490 // subscriptionDurability has no pre constraints 491 subscriptionDurability12a = handleGetSubscriptionDurability(); 492 // subscriptionDurability has no post constraints 493 this.__subscriptionDurability12a = subscriptionDurability12a; 494 if (isMetafacadePropertyCachingEnabled()) 495 { 496 this.__subscriptionDurability12aSet = true; 497 } 498 } 499 return subscriptionDurability12a; 500 } 501 502 /** 503 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getTransactionManagement() 504 * @return String 505 */ 506 protected abstract String handleGetTransactionManagement(); 507 508 private String __transactionManagement13a; 509 private boolean __transactionManagement13aSet = false; 510 511 /** 512 * Returns the transaction demarcation strategy for this bean. Typically, this will return BEAN 513 * for non default CONTAINER managed beans. Unless specified, this will return null indicating 514 * CONTAINER transaction demarcation. 515 * @return (String)handleGetTransactionManagement() 516 */ 517 public final String getTransactionManagement() 518 { 519 String transactionManagement13a = this.__transactionManagement13a; 520 if (!this.__transactionManagement13aSet) 521 { 522 // transactionManagement has no pre constraints 523 transactionManagement13a = handleGetTransactionManagement(); 524 // transactionManagement has no post constraints 525 this.__transactionManagement13a = transactionManagement13a; 526 if (isMetafacadePropertyCachingEnabled()) 527 { 528 this.__transactionManagement13aSet = true; 529 } 530 } 531 return transactionManagement13a; 532 } 533 534 /** 535 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#isTransactionManagementBean() 536 * @return boolean 537 */ 538 protected abstract boolean handleIsTransactionManagementBean(); 539 540 private boolean __transactionManagementBean14a; 541 private boolean __transactionManagementBean14aSet = false; 542 543 /** 544 * Returns true if the transaction demarcation strategy is bean managedfor this bean. 545 * @return (boolean)handleIsTransactionManagementBean() 546 */ 547 public final boolean isTransactionManagementBean() 548 { 549 boolean transactionManagementBean14a = this.__transactionManagementBean14a; 550 if (!this.__transactionManagementBean14aSet) 551 { 552 // transactionManagementBean has no pre constraints 553 transactionManagementBean14a = handleIsTransactionManagementBean(); 554 // transactionManagementBean has no post constraints 555 this.__transactionManagementBean14a = transactionManagementBean14a; 556 if (isMetafacadePropertyCachingEnabled()) 557 { 558 this.__transactionManagementBean14aSet = true; 559 } 560 } 561 return transactionManagementBean14a; 562 } 563 564 /** 565 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getTransactionType() 566 * @return String 567 */ 568 protected abstract String handleGetTransactionType(); 569 570 private String __transactionType15a; 571 private boolean __transactionType15aSet = false; 572 573 /** 574 * Gets the transaction type for this message driven bean. For container managed demarcation, 575 * either the REQUIRED or NOT_SUPPORTED transaction attributes must be used on a message driven 576 * bean. 577 * @return (String)handleGetTransactionType() 578 */ 579 public final String getTransactionType() 580 { 581 String transactionType15a = this.__transactionType15a; 582 if (!this.__transactionType15aSet) 583 { 584 // transactionType has no pre constraints 585 transactionType15a = handleGetTransactionType(); 586 // transactionType has no post constraints 587 this.__transactionType15a = transactionType15a; 588 if (isMetafacadePropertyCachingEnabled()) 589 { 590 this.__transactionType15aSet = true; 591 } 592 } 593 return transactionType15a; 594 } 595 596 /** 597 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#isDestinationTypeQueue() 598 * @return boolean 599 */ 600 protected abstract boolean handleIsDestinationTypeQueue(); 601 602 private boolean __destinationTypeQueue16a; 603 private boolean __destinationTypeQueue16aSet = false; 604 605 /** 606 * Returns true if the destination type if a javax.jms.Queue. 607 * @return (boolean)handleIsDestinationTypeQueue() 608 */ 609 public final boolean isDestinationTypeQueue() 610 { 611 boolean destinationTypeQueue16a = this.__destinationTypeQueue16a; 612 if (!this.__destinationTypeQueue16aSet) 613 { 614 // destinationTypeQueue has no pre constraints 615 destinationTypeQueue16a = handleIsDestinationTypeQueue(); 616 // destinationTypeQueue has no post constraints 617 this.__destinationTypeQueue16a = destinationTypeQueue16a; 618 if (isMetafacadePropertyCachingEnabled()) 619 { 620 this.__destinationTypeQueue16aSet = true; 621 } 622 } 623 return destinationTypeQueue16a; 624 } 625 626 /** 627 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#isDestinationTypeTopic() 628 * @return boolean 629 */ 630 protected abstract boolean handleIsDestinationTypeTopic(); 631 632 private boolean __destinationTypeTopic17a; 633 private boolean __destinationTypeTopic17aSet = false; 634 635 /** 636 * Returns true if the destination type is a javax.jms.Topic. 637 * @return (boolean)handleIsDestinationTypeTopic() 638 */ 639 public final boolean isDestinationTypeTopic() 640 { 641 boolean destinationTypeTopic17a = this.__destinationTypeTopic17a; 642 if (!this.__destinationTypeTopic17aSet) 643 { 644 // destinationTypeTopic has no pre constraints 645 destinationTypeTopic17a = handleIsDestinationTypeTopic(); 646 // destinationTypeTopic has no post constraints 647 this.__destinationTypeTopic17a = destinationTypeTopic17a; 648 if (isMetafacadePropertyCachingEnabled()) 649 { 650 this.__destinationTypeTopic17aSet = true; 651 } 652 } 653 return destinationTypeTopic17a; 654 } 655 656 /** 657 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMinimumPoolSize() 658 * @return int 659 */ 660 protected abstract int handleGetMinimumPoolSize(); 661 662 private int __minimumPoolSize18a; 663 private boolean __minimumPoolSize18aSet = false; 664 665 /** 666 * Returns the MDB minimum pool size. 667 * @return (int)handleGetMinimumPoolSize() 668 */ 669 public final int getMinimumPoolSize() 670 { 671 int minimumPoolSize18a = this.__minimumPoolSize18a; 672 if (!this.__minimumPoolSize18aSet) 673 { 674 // minimumPoolSize has no pre constraints 675 minimumPoolSize18a = handleGetMinimumPoolSize(); 676 // minimumPoolSize has no post constraints 677 this.__minimumPoolSize18a = minimumPoolSize18a; 678 if (isMetafacadePropertyCachingEnabled()) 679 { 680 this.__minimumPoolSize18aSet = true; 681 } 682 } 683 return minimumPoolSize18a; 684 } 685 686 /** 687 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#isListenerEnabled() 688 * @return boolean 689 */ 690 protected abstract boolean handleIsListenerEnabled(); 691 692 private boolean __listenerEnabled19a; 693 private boolean __listenerEnabled19aSet = false; 694 695 /** 696 * Returns true if this message driven bean has the stereotype Listener. False otherwise. 697 * @return (boolean)handleIsListenerEnabled() 698 */ 699 public final boolean isListenerEnabled() 700 { 701 boolean listenerEnabled19a = this.__listenerEnabled19a; 702 if (!this.__listenerEnabled19aSet) 703 { 704 // listenerEnabled has no pre constraints 705 listenerEnabled19a = handleIsListenerEnabled(); 706 // listenerEnabled has no post constraints 707 this.__listenerEnabled19a = listenerEnabled19a; 708 if (isMetafacadePropertyCachingEnabled()) 709 { 710 this.__listenerEnabled19aSet = true; 711 } 712 } 713 return listenerEnabled19a; 714 } 715 716 /** 717 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getInterceptorReferences() 718 * @return Collection 719 */ 720 protected abstract Collection handleGetInterceptorReferences(); 721 722 private Collection __interceptorReferences20a; 723 private boolean __interceptorReferences20aSet = false; 724 725 /** 726 * Returns the Collection of target elements from the message-driven bean class where the 727 * target class has a stereotype of Interceptor. 728 * @return (Collection)handleGetInterceptorReferences() 729 */ 730 public final Collection getInterceptorReferences() 731 { 732 Collection interceptorReferences20a = this.__interceptorReferences20a; 733 if (!this.__interceptorReferences20aSet) 734 { 735 // interceptorReferences has no pre constraints 736 interceptorReferences20a = handleGetInterceptorReferences(); 737 // interceptorReferences has no post constraints 738 this.__interceptorReferences20a = interceptorReferences20a; 739 if (isMetafacadePropertyCachingEnabled()) 740 { 741 this.__interceptorReferences20aSet = true; 742 } 743 } 744 return interceptorReferences20a; 745 } 746 747 /** 748 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#isExcludeDefaultInterceptors() 749 * @return boolean 750 */ 751 protected abstract boolean handleIsExcludeDefaultInterceptors(); 752 753 private boolean __excludeDefaultInterceptors21a; 754 private boolean __excludeDefaultInterceptors21aSet = false; 755 756 /** 757 * Determines whether to exclude the invocation of the default interceptors for all business 758 * method in the bean. 759 * @return (boolean)handleIsExcludeDefaultInterceptors() 760 */ 761 public final boolean isExcludeDefaultInterceptors() 762 { 763 boolean excludeDefaultInterceptors21a = this.__excludeDefaultInterceptors21a; 764 if (!this.__excludeDefaultInterceptors21aSet) 765 { 766 // excludeDefaultInterceptors has no pre constraints 767 excludeDefaultInterceptors21a = handleIsExcludeDefaultInterceptors(); 768 // excludeDefaultInterceptors has no post constraints 769 this.__excludeDefaultInterceptors21a = excludeDefaultInterceptors21a; 770 if (isMetafacadePropertyCachingEnabled()) 771 { 772 this.__excludeDefaultInterceptors21aSet = true; 773 } 774 } 775 return excludeDefaultInterceptors21a; 776 } 777 778 /** 779 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMaximumPoolSize() 780 * @return int 781 */ 782 protected abstract int handleGetMaximumPoolSize(); 783 784 private int __maximumPoolSize22a; 785 private boolean __maximumPoolSize22aSet = false; 786 787 /** 788 * Returns the MDB maximum pool size. 789 * @return (int)handleGetMaximumPoolSize() 790 */ 791 public final int getMaximumPoolSize() 792 { 793 int maximumPoolSize22a = this.__maximumPoolSize22a; 794 if (!this.__maximumPoolSize22aSet) 795 { 796 // maximumPoolSize has no pre constraints 797 maximumPoolSize22a = handleGetMaximumPoolSize(); 798 // maximumPoolSize has no post constraints 799 this.__maximumPoolSize22a = maximumPoolSize22a; 800 if (isMetafacadePropertyCachingEnabled()) 801 { 802 this.__maximumPoolSize22aSet = true; 803 } 804 } 805 return maximumPoolSize22a; 806 } 807 808 /** 809 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getTestPackageName() 810 * @return String 811 */ 812 protected abstract String handleGetTestPackageName(); 813 814 private String __testPackageName23a; 815 private boolean __testPackageName23aSet = false; 816 817 /** 818 * Returns the message driven test package name. This simply appends .test to the existing class 819 * package. 820 * @return (String)handleGetTestPackageName() 821 */ 822 public final String getTestPackageName() 823 { 824 String testPackageName23a = this.__testPackageName23a; 825 if (!this.__testPackageName23aSet) 826 { 827 // testPackageName has no pre constraints 828 testPackageName23a = handleGetTestPackageName(); 829 // testPackageName has no post constraints 830 this.__testPackageName23a = testPackageName23a; 831 if (isMetafacadePropertyCachingEnabled()) 832 { 833 this.__testPackageName23aSet = true; 834 } 835 } 836 return testPackageName23a; 837 } 838 839 /** 840 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMessageDrivenTestName() 841 * @return String 842 */ 843 protected abstract String handleGetMessageDrivenTestName(); 844 845 private String __messageDrivenTestName24a; 846 private boolean __messageDrivenTestName24aSet = false; 847 848 /** 849 * Returns the message driven bean test class name 850 * @return (String)handleGetMessageDrivenTestName() 851 */ 852 public final String getMessageDrivenTestName() 853 { 854 String messageDrivenTestName24a = this.__messageDrivenTestName24a; 855 if (!this.__messageDrivenTestName24aSet) 856 { 857 // messageDrivenTestName has no pre constraints 858 messageDrivenTestName24a = handleGetMessageDrivenTestName(); 859 // messageDrivenTestName has no post constraints 860 this.__messageDrivenTestName24a = messageDrivenTestName24a; 861 if (isMetafacadePropertyCachingEnabled()) 862 { 863 this.__messageDrivenTestName24aSet = true; 864 } 865 } 866 return messageDrivenTestName24a; 867 } 868 869 /** 870 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getFullyQualifiedMessageDrivenTestName() 871 * @return String 872 */ 873 protected abstract String handleGetFullyQualifiedMessageDrivenTestName(); 874 875 private String __fullyQualifiedMessageDrivenTestName25a; 876 private boolean __fullyQualifiedMessageDrivenTestName25aSet = false; 877 878 /** 879 * Returns the fully qualified message driven test class name 880 * @return (String)handleGetFullyQualifiedMessageDrivenTestName() 881 */ 882 public final String getFullyQualifiedMessageDrivenTestName() 883 { 884 String fullyQualifiedMessageDrivenTestName25a = this.__fullyQualifiedMessageDrivenTestName25a; 885 if (!this.__fullyQualifiedMessageDrivenTestName25aSet) 886 { 887 // fullyQualifiedMessageDrivenTestName has no pre constraints 888 fullyQualifiedMessageDrivenTestName25a = handleGetFullyQualifiedMessageDrivenTestName(); 889 // fullyQualifiedMessageDrivenTestName has no post constraints 890 this.__fullyQualifiedMessageDrivenTestName25a = fullyQualifiedMessageDrivenTestName25a; 891 if (isMetafacadePropertyCachingEnabled()) 892 { 893 this.__fullyQualifiedMessageDrivenTestName25aSet = true; 894 } 895 } 896 return fullyQualifiedMessageDrivenTestName25a; 897 } 898 899 /** 900 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#isSubscriptionDurable() 901 * @return boolean 902 */ 903 protected abstract boolean handleIsSubscriptionDurable(); 904 905 private boolean __subscriptionDurable26a; 906 private boolean __subscriptionDurable26aSet = false; 907 908 /** 909 * Returns true if the topic subscription durability setting is Durable. 910 * @return (boolean)handleIsSubscriptionDurable() 911 */ 912 public final boolean isSubscriptionDurable() 913 { 914 boolean subscriptionDurable26a = this.__subscriptionDurable26a; 915 if (!this.__subscriptionDurable26aSet) 916 { 917 // subscriptionDurable has no pre constraints 918 subscriptionDurable26a = handleIsSubscriptionDurable(); 919 // subscriptionDurable has no post constraints 920 this.__subscriptionDurable26a = subscriptionDurable26a; 921 if (isMetafacadePropertyCachingEnabled()) 922 { 923 this.__subscriptionDurable26aSet = true; 924 } 925 } 926 return subscriptionDurable26a; 927 } 928 929 /** 930 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#isSubscriptionNonDurable() 931 * @return boolean 932 */ 933 protected abstract boolean handleIsSubscriptionNonDurable(); 934 935 private boolean __subscriptionNonDurable27a; 936 private boolean __subscriptionNonDurable27aSet = false; 937 938 /** 939 * Returns true if the subscription durability setting is NonDurable. 940 * @return (boolean)handleIsSubscriptionNonDurable() 941 */ 942 public final boolean isSubscriptionNonDurable() 943 { 944 boolean subscriptionNonDurable27a = this.__subscriptionNonDurable27a; 945 if (!this.__subscriptionNonDurable27aSet) 946 { 947 // subscriptionNonDurable has no pre constraints 948 subscriptionNonDurable27a = handleIsSubscriptionNonDurable(); 949 // subscriptionNonDurable has no post constraints 950 this.__subscriptionNonDurable27a = subscriptionNonDurable27a; 951 if (isMetafacadePropertyCachingEnabled()) 952 { 953 this.__subscriptionNonDurable27aSet = true; 954 } 955 } 956 return subscriptionNonDurable27a; 957 } 958 959 /** 960 * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getDurableSubscriptionId() 961 * @return String 962 */ 963 protected abstract String handleGetDurableSubscriptionId(); 964 965 private String __durableSubscriptionId28a; 966 private boolean __durableSubscriptionId28aSet = false; 967 968 /** 969 * This returns a subscription name which is only required for durable subscriptions. 970 * @return (String)handleGetDurableSubscriptionId() 971 */ 972 public final String getDurableSubscriptionId() 973 { 974 String durableSubscriptionId28a = this.__durableSubscriptionId28a; 975 if (!this.__durableSubscriptionId28aSet) 976 { 977 // durableSubscriptionId has no pre constraints 978 durableSubscriptionId28a = handleGetDurableSubscriptionId(); 979 // durableSubscriptionId has no post constraints 980 this.__durableSubscriptionId28a = durableSubscriptionId28a; 981 if (isMetafacadePropertyCachingEnabled()) 982 { 983 this.__durableSubscriptionId28aSet = true; 984 } 985 } 986 return durableSubscriptionId28a; 987 } 988 989 // ---------------- business methods ---------------------- 990 991 /** 992 * Method to be implemented in descendants 993 * Returns the comma separated list of attributes.<p/>This method can be used to generate 994 * argument lists for constructors and method calls. 995 * @param attributes 996 * @param includeTypes 997 * @param includeNames 998 * @return String 999 */ 1000 protected abstract String handleGetAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames); 1001 1002 /** 1003 * Returns the comma separated list of attributes.<p/>This method can be used to generate 1004 * argument lists for constructors and method calls. 1005 * @param attributes Collection 1006 * a collection of {@link Attribute} objects 1007 * @param includeTypes boolean 1008 * if <code>true</code>, the type names of the attributes are included. 1009 * @param includeNames boolean 1010 * if <code>true</code>, the names of the attributes are included 1011 * @return handleGetAttributesAsList(attributes, includeTypes, includeNames) 1012 */ 1013 public String getAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames) 1014 { 1015 // getAttributesAsList has no pre constraints 1016 String returnValue = handleGetAttributesAsList(attributes, includeTypes, includeNames); 1017 // getAttributesAsList has no post constraints 1018 return returnValue; 1019 } 1020 1021 /** 1022 * Method to be implemented in descendants 1023 * Gets all constants for this message driven EJB. Constants are defined as static read-only 1024 * attributes which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the 1025 * inheritance hierarchy will be followed and we'll retrieve all constants from any super types 1026 * as well. 1027 * @param follow 1028 * @return Collection 1029 */ 1030 protected abstract Collection handleGetConstants(boolean follow); 1031 1032 /** 1033 * Gets all constants for this message driven EJB. Constants are defined as static read-only 1034 * attributes which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the 1035 * inheritance hierarchy will be followed and we'll retrieve all constants from any super types 1036 * as well. 1037 * @param follow boolean 1038 * If true, then the inheritance hierarchy will be followed and we'll retrieve all constants 1039 * from any super types as well. 1040 * @return handleGetConstants(follow) 1041 */ 1042 public Collection getConstants(boolean follow) 1043 { 1044 // getConstants has no pre constraints 1045 Collection returnValue = handleGetConstants(follow); 1046 // getConstants has no post constraints 1047 return returnValue; 1048 } 1049 1050 /** 1051 * Method to be implemented in descendants 1052 * Gets all env-entries for the specified session EJB. Env-entries are stored as static 1053 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the 1054 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super 1055 * types as well. 1056 * @param follow 1057 * @return Collection 1058 */ 1059 protected abstract Collection handleGetEnvironmentEntries(boolean follow); 1060 1061 /** 1062 * Gets all env-entries for the specified session EJB. Env-entries are stored as static 1063 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the 1064 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super 1065 * types as well. 1066 * @param follow boolean 1067 * If true, then the inheritance hierarchy will be followed and we'll retrieve all env-entries 1068 * from any super types as well. 1069 * @return handleGetEnvironmentEntries(follow) 1070 */ 1071 public Collection getEnvironmentEntries(boolean follow) 1072 { 1073 // getEnvironmentEntries has no pre constraints 1074 Collection returnValue = handleGetEnvironmentEntries(follow); 1075 // getEnvironmentEntries has no post constraints 1076 return returnValue; 1077 } 1078 1079 /** 1080 * @return true 1081 * @see Service 1082 */ 1083 public boolean isServiceMetaType() 1084 { 1085 return true; 1086 } 1087 1088 /** 1089 * @return true 1090 * @see ClassifierFacade 1091 */ 1092 public boolean isClassifierFacadeMetaType() 1093 { 1094 return true; 1095 } 1096 1097 /** 1098 * @return true 1099 * @see GeneralizableElementFacade 1100 */ 1101 public boolean isGeneralizableElementFacadeMetaType() 1102 { 1103 return true; 1104 } 1105 1106 /** 1107 * @return true 1108 * @see ModelElementFacade 1109 */ 1110 public boolean isModelElementFacadeMetaType() 1111 { 1112 return true; 1113 } 1114 1115 // ----------- delegates to Service ------------ 1116 /** 1117 * Return the attribute which name matches the parameter 1118 * @see ClassifierFacade#findAttribute(String name) 1119 */ 1120 public AttributeFacade findAttribute(String name) 1121 { 1122 return this.getSuperService().findAttribute(name); 1123 } 1124 1125 /** 1126 * Those abstraction dependencies for which this classifier is the client. 1127 * @see ClassifierFacade#getAbstractions() 1128 */ 1129 public Collection<ClassifierFacade> getAbstractions() 1130 { 1131 return this.getSuperService().getAbstractions(); 1132 } 1133 1134 /** 1135 * Lists all classes associated to this one and any ancestor classes (through generalization). 1136 * There will be no duplicates. The order of the elements is predictable. 1137 * @see ClassifierFacade#getAllAssociatedClasses() 1138 */ 1139 public Collection<ClassifierFacade> getAllAssociatedClasses() 1140 { 1141 return this.getSuperService().getAllAssociatedClasses(); 1142 } 1143 1144 /** 1145 * A collection containing all 'properties' of the classifier and its ancestors. Properties are 1146 * any attributes and navigable connecting association ends. 1147 * @see ClassifierFacade#getAllProperties() 1148 */ 1149 public Collection<ModelElementFacade> getAllProperties() 1150 { 1151 return this.getSuperService().getAllProperties(); 1152 } 1153 1154 /** 1155 * A collection containing all required and/or read-only 'properties' of the classifier and its 1156 * ancestors. Properties are any attributes and navigable connecting association ends. 1157 * @see ClassifierFacade#getAllRequiredConstructorParameters() 1158 */ 1159 public Collection<ModelElementFacade> getAllRequiredConstructorParameters() 1160 { 1161 return this.getSuperService().getAllRequiredConstructorParameters(); 1162 } 1163 1164 /** 1165 * Gets the array type for this classifier. If this classifier already represents an array, it 1166 * just returns itself. 1167 * @see ClassifierFacade#getArray() 1168 */ 1169 public ClassifierFacade getArray() 1170 { 1171 return this.getSuperService().getArray(); 1172 } 1173 1174 /** 1175 * The name of the classifier as an array. 1176 * @see ClassifierFacade#getArrayName() 1177 */ 1178 public String getArrayName() 1179 { 1180 return this.getSuperService().getArrayName(); 1181 } 1182 1183 /** 1184 * Lists the classes associated to this one, there is no repitition of classes. The order of the 1185 * elements is predictable. 1186 * @see ClassifierFacade#getAssociatedClasses() 1187 */ 1188 public Collection<ClassifierFacade> getAssociatedClasses() 1189 { 1190 return this.getSuperService().getAssociatedClasses(); 1191 } 1192 1193 /** 1194 * Gets the association ends belonging to a classifier. 1195 * @see ClassifierFacade#getAssociationEnds() 1196 */ 1197 public List<AssociationEndFacade> getAssociationEnds() 1198 { 1199 return this.getSuperService().getAssociationEnds(); 1200 } 1201 1202 /** 1203 * Gets the attributes that belong to the classifier. 1204 * @see ClassifierFacade#getAttributes() 1205 */ 1206 public List<AttributeFacade> getAttributes() 1207 { 1208 return this.getSuperService().getAttributes(); 1209 } 1210 1211 /** 1212 * Gets all attributes for the classifier and if 'follow' is true goes up the inheritance 1213 * hierarchy and gets the attributes from the super classes as well. 1214 * @see ClassifierFacade#getAttributes(boolean follow) 1215 */ 1216 public List<AttributeFacade> getAttributes(boolean follow) 1217 { 1218 return this.getSuperService().getAttributes(follow); 1219 } 1220 1221 /** 1222 * The fully qualified name of the classifier as an array. 1223 * @see ClassifierFacade#getFullyQualifiedArrayName() 1224 */ 1225 public String getFullyQualifiedArrayName() 1226 { 1227 return this.getSuperService().getFullyQualifiedArrayName(); 1228 } 1229 1230 /** 1231 * Returns all those operations that could be implemented at this classifier's level. This means 1232 * the operations owned by this classifier as well as any realized interface's operations 1233 * (recursively) in case this classifier itself is not already an interface, or generalized when 1234 * this classifier is an interface. 1235 * @see ClassifierFacade#getImplementationOperations() 1236 */ 1237 public Collection<OperationFacade> getImplementationOperations() 1238 { 1239 return this.getSuperService().getImplementationOperations(); 1240 } 1241 1242 /** 1243 * A comma separated list of the fully qualified names of all implemented interfaces. 1244 * @see ClassifierFacade#getImplementedInterfaceList() 1245 */ 1246 public String getImplementedInterfaceList() 1247 { 1248 return this.getSuperService().getImplementedInterfaceList(); 1249 } 1250 1251 /** 1252 * Those attributes that are scoped to an instance of this class. 1253 * @see ClassifierFacade#getInstanceAttributes() 1254 */ 1255 public Collection<AttributeFacade> getInstanceAttributes() 1256 { 1257 return this.getSuperService().getInstanceAttributes(); 1258 } 1259 1260 /** 1261 * Those operations that are scoped to an instance of this class. 1262 * @see ClassifierFacade#getInstanceOperations() 1263 */ 1264 public List<OperationFacade> getInstanceOperations() 1265 { 1266 return this.getSuperService().getInstanceOperations(); 1267 } 1268 1269 /** 1270 * Those interfaces that are abstractions of this classifier, this basically means this 1271 * classifier realizes them. 1272 * @see ClassifierFacade#getInterfaceAbstractions() 1273 */ 1274 public Collection<ClassifierFacade> getInterfaceAbstractions() 1275 { 1276 return this.getSuperService().getInterfaceAbstractions(); 1277 } 1278 1279 /** 1280 * A String representing a new Constructor declaration for this classifier type to be used in a 1281 * Java environment. 1282 * @see ClassifierFacade#getJavaNewString() 1283 */ 1284 public String getJavaNewString() 1285 { 1286 return this.getSuperService().getJavaNewString(); 1287 } 1288 1289 /** 1290 * A String representing the null-value for this classifier type to be used in a Java 1291 * environment. 1292 * @see ClassifierFacade#getJavaNullString() 1293 */ 1294 public String getJavaNullString() 1295 { 1296 return this.getSuperService().getJavaNullString(); 1297 } 1298 1299 /** 1300 * The other ends of this classifier's association ends which are navigable. 1301 * @see ClassifierFacade#getNavigableConnectingEnds() 1302 */ 1303 public Collection<AssociationEndFacade> getNavigableConnectingEnds() 1304 { 1305 return this.getSuperService().getNavigableConnectingEnds(); 1306 } 1307 1308 /** 1309 * Get the other ends of this classifier's association ends which are navigable and if 'follow' 1310 * is true goes up the inheritance hierarchy and gets the super association ends as well. 1311 * @see ClassifierFacade#getNavigableConnectingEnds(boolean follow) 1312 */ 1313 public List<AssociationEndFacade> getNavigableConnectingEnds(boolean follow) 1314 { 1315 return this.getSuperService().getNavigableConnectingEnds(follow); 1316 } 1317 1318 /** 1319 * Assuming that the classifier is an array, this will return the non array type of the 1320 * classifier from 1321 * the model. If the classifier is NOT an array, it will just return itself. 1322 * @see ClassifierFacade#getNonArray() 1323 */ 1324 public ClassifierFacade getNonArray() 1325 { 1326 return this.getSuperService().getNonArray(); 1327 } 1328 1329 /** 1330 * The attributes from this classifier in the form of an operation call (this example would be 1331 * in Java): '(String attributeOne, String attributeTwo). If there were no attributes on the 1332 * classifier, the result would be an empty '()'. 1333 * @see ClassifierFacade#getOperationCallFromAttributes() 1334 */ 1335 public String getOperationCallFromAttributes() 1336 { 1337 return this.getSuperService().getOperationCallFromAttributes(); 1338 } 1339 1340 /** 1341 * The operations owned by this classifier. 1342 * @see ClassifierFacade#getOperations() 1343 */ 1344 public List<OperationFacade> getOperations() 1345 { 1346 return this.getSuperService().getOperations(); 1347 } 1348 1349 /** 1350 * A collection containing all 'properties' of the classifier. Properties are any attributes 1351 * and navigable connecting association ends. 1352 * @see ClassifierFacade#getProperties() 1353 */ 1354 public List<ModelElementFacade> getProperties() 1355 { 1356 return this.getSuperService().getProperties(); 1357 } 1358 1359 /** 1360 * Gets all properties (attributes and navigable association ends) for the classifier and if 1361 * 'follow' is true goes up the inheritance hierarchy and gets the properties from the super 1362 * classes as well. 1363 * @see ClassifierFacade#getProperties(boolean follow) 1364 */ 1365 public List getProperties(boolean follow) 1366 { 1367 return this.getSuperService().getProperties(follow); 1368 } 1369 1370 /** 1371 * A collection containing all required and/or read-only 'properties' of the classifier. 1372 * Properties are any attributes and navigable connecting association ends. 1373 * @see ClassifierFacade#getRequiredConstructorParameters() 1374 */ 1375 public Collection<ModelElementFacade> getRequiredConstructorParameters() 1376 { 1377 return this.getSuperService().getRequiredConstructorParameters(); 1378 } 1379 1380 /** 1381 * Returns the serial version UID of the underlying model element. 1382 * @see ClassifierFacade#getSerialVersionUID() 1383 */ 1384 public long getSerialVersionUID() 1385 { 1386 return this.getSuperService().getSerialVersionUID(); 1387 } 1388 1389 /** 1390 * Those attributes that are scoped to the definition of this class. 1391 * @see ClassifierFacade#getStaticAttributes() 1392 */ 1393 public Collection<AttributeFacade> getStaticAttributes() 1394 { 1395 return this.getSuperService().getStaticAttributes(); 1396 } 1397 1398 /** 1399 * Those operations that are scoped to the definition of this class. 1400 * @see ClassifierFacade#getStaticOperations() 1401 */ 1402 public List<OperationFacade> getStaticOperations() 1403 { 1404 return this.getSuperService().getStaticOperations(); 1405 } 1406 1407 /** 1408 * This class' superclass, returns the generalization if it is a ClassifierFacade, null 1409 * otherwise. 1410 * @see ClassifierFacade#getSuperClass() 1411 */ 1412 public ClassifierFacade getSuperClass() 1413 { 1414 return this.getSuperService().getSuperClass(); 1415 } 1416 1417 /** 1418 * The wrapper name for this classifier if a mapped type has a defined wrapper class (ie. 'long' 1419 * maps to 'Long'). If the classifier doesn't have a wrapper defined for it, this method will 1420 * return a null. Note that wrapper mappings must be defined for the namespace by defining the 1421 * 'wrapperMappingsUri', this property must point to the location of the mappings file which 1422 * maps the primitives to wrapper types. 1423 * @see ClassifierFacade#getWrapperName() 1424 */ 1425 public String getWrapperName() 1426 { 1427 return this.getSuperService().getWrapperName(); 1428 } 1429 1430 /** 1431 * Indicates if this classifier is 'abstract'. 1432 * @see ClassifierFacade#isAbstract() 1433 */ 1434 public boolean isAbstract() 1435 { 1436 return this.getSuperService().isAbstract(); 1437 } 1438 1439 /** 1440 * True if this classifier represents an array type. False otherwise. 1441 * @see ClassifierFacade#isArrayType() 1442 */ 1443 public boolean isArrayType() 1444 { 1445 return this.getSuperService().isArrayType(); 1446 } 1447 1448 /** 1449 * True if the ClassifierFacade is an AssociationClass. 1450 * @see ClassifierFacade#isAssociationClass() 1451 */ 1452 public boolean isAssociationClass() 1453 { 1454 return this.getSuperService().isAssociationClass(); 1455 } 1456 1457 /** 1458 * Returns true if this type represents a Blob type. 1459 * @see ClassifierFacade#isBlobType() 1460 */ 1461 public boolean isBlobType() 1462 { 1463 return this.getSuperService().isBlobType(); 1464 } 1465 1466 /** 1467 * Indicates if this type represents a boolean type or not. 1468 * @see ClassifierFacade#isBooleanType() 1469 */ 1470 public boolean isBooleanType() 1471 { 1472 return this.getSuperService().isBooleanType(); 1473 } 1474 1475 /** 1476 * Indicates if this type represents a char, Character, or java.lang.Character type or not. 1477 * @see ClassifierFacade#isCharacterType() 1478 */ 1479 public boolean isCharacterType() 1480 { 1481 return this.getSuperService().isCharacterType(); 1482 } 1483 1484 /** 1485 * Returns true if this type represents a Clob type. 1486 * @see ClassifierFacade#isClobType() 1487 */ 1488 public boolean isClobType() 1489 { 1490 return this.getSuperService().isClobType(); 1491 } 1492 1493 /** 1494 * True if this classifier represents a collection type. False otherwise. 1495 * @see ClassifierFacade#isCollectionType() 1496 */ 1497 public boolean isCollectionType() 1498 { 1499 return this.getSuperService().isCollectionType(); 1500 } 1501 1502 /** 1503 * True/false depending on whether or not this classifier represents a datatype. A data type is 1504 * a type whose instances are identified only by their value. A data type may contain attributes 1505 * to support the modeling of structured data types. 1506 * @see ClassifierFacade#isDataType() 1507 */ 1508 public boolean isDataType() 1509 { 1510 return this.getSuperService().isDataType(); 1511 } 1512 1513 /** 1514 * True when this classifier is a date type. 1515 * @see ClassifierFacade#isDateType() 1516 */ 1517 public boolean isDateType() 1518 { 1519 return this.getSuperService().isDateType(); 1520 } 1521 1522 /** 1523 * Indicates if this type represents a Double type or not. 1524 * @see ClassifierFacade#isDoubleType() 1525 */ 1526 public boolean isDoubleType() 1527 { 1528 return this.getSuperService().isDoubleType(); 1529 } 1530 1531 /** 1532 * Indicates whether or not this classifier represents an "EmbeddedValue'. 1533 * @see ClassifierFacade#isEmbeddedValue() 1534 */ 1535 public boolean isEmbeddedValue() 1536 { 1537 return this.getSuperService().isEmbeddedValue(); 1538 } 1539 1540 /** 1541 * True if this classifier is in fact marked as an enumeration. 1542 * @see ClassifierFacade#isEnumeration() 1543 */ 1544 public boolean isEnumeration() 1545 { 1546 return this.getSuperService().isEnumeration(); 1547 } 1548 1549 /** 1550 * Returns true if this type represents a 'file' type. 1551 * @see ClassifierFacade#isFileType() 1552 */ 1553 public boolean isFileType() 1554 { 1555 return this.getSuperService().isFileType(); 1556 } 1557 1558 /** 1559 * Indicates if this type represents a Float type or not. 1560 * @see ClassifierFacade#isFloatType() 1561 */ 1562 public boolean isFloatType() 1563 { 1564 return this.getSuperService().isFloatType(); 1565 } 1566 1567 /** 1568 * Indicates if this type represents an int or Integer or java.lang.Integer type or not. 1569 * @see ClassifierFacade#isIntegerType() 1570 */ 1571 public boolean isIntegerType() 1572 { 1573 return this.getSuperService().isIntegerType(); 1574 } 1575 1576 /** 1577 * True/false depending on whether or not this Classifier represents an interface. 1578 * @see ClassifierFacade#isInterface() 1579 */ 1580 public boolean isInterface() 1581 { 1582 return this.getSuperService().isInterface(); 1583 } 1584 1585 /** 1586 * True if this classifier cannot be extended and represent a leaf in the inheritance tree. 1587 * @see ClassifierFacade#isLeaf() 1588 */ 1589 public boolean isLeaf() 1590 { 1591 return this.getSuperService().isLeaf(); 1592 } 1593 1594 /** 1595 * True if this classifier represents a list type. False otherwise. 1596 * @see ClassifierFacade#isListType() 1597 */ 1598 public boolean isListType() 1599 { 1600 return this.getSuperService().isListType(); 1601 } 1602 1603 /** 1604 * Indicates if this type represents a Long type or not. 1605 * @see ClassifierFacade#isLongType() 1606 */ 1607 public boolean isLongType() 1608 { 1609 return this.getSuperService().isLongType(); 1610 } 1611 1612 /** 1613 * Indicates whether or not this classifier represents a Map type. 1614 * @see ClassifierFacade#isMapType() 1615 */ 1616 public boolean isMapType() 1617 { 1618 return this.getSuperService().isMapType(); 1619 } 1620 1621 /** 1622 * Indicates whether or not this classifier represents a primitive type. 1623 * @see ClassifierFacade#isPrimitive() 1624 */ 1625 public boolean isPrimitive() 1626 { 1627 return this.getSuperService().isPrimitive(); 1628 } 1629 1630 /** 1631 * True if this classifier represents a set type. False otherwise. 1632 * @see ClassifierFacade#isSetType() 1633 */ 1634 public boolean isSetType() 1635 { 1636 return this.getSuperService().isSetType(); 1637 } 1638 1639 /** 1640 * Indicates whether or not this classifier represents a string type. 1641 * @see ClassifierFacade#isStringType() 1642 */ 1643 public boolean isStringType() 1644 { 1645 return this.getSuperService().isStringType(); 1646 } 1647 1648 /** 1649 * Indicates whether or not this classifier represents a time type. 1650 * @see ClassifierFacade#isTimeType() 1651 */ 1652 public boolean isTimeType() 1653 { 1654 return this.getSuperService().isTimeType(); 1655 } 1656 1657 /** 1658 * Returns true if this type is a wrapped primitive type. 1659 * @see ClassifierFacade#isWrappedPrimitive() 1660 */ 1661 public boolean isWrappedPrimitive() 1662 { 1663 return this.getSuperService().isWrappedPrimitive(); 1664 } 1665 1666 /** 1667 * Finds the tagged value optional searching the entire inheritance hierarchy if 'follow' is set 1668 * to true. 1669 * @see GeneralizableElementFacade#findTaggedValue(String tagName, boolean follow) 1670 */ 1671 public Object findTaggedValue(String tagName, boolean follow) 1672 { 1673 return this.getSuperService().findTaggedValue(tagName, follow); 1674 } 1675 1676 /** 1677 * All generalizations for this generalizable element, goes up the inheritance tree. 1678 * @see GeneralizableElementFacade#getAllGeneralizations() 1679 */ 1680 public Collection<GeneralizableElementFacade> getAllGeneralizations() 1681 { 1682 return this.getSuperService().getAllGeneralizations(); 1683 } 1684 1685 /** 1686 * All specializations (travels down the inheritance hierarchy). 1687 * @see GeneralizableElementFacade#getAllSpecializations() 1688 */ 1689 public Collection<GeneralizableElementFacade> getAllSpecializations() 1690 { 1691 return this.getSuperService().getAllSpecializations(); 1692 } 1693 1694 /** 1695 * Gets the direct generalization for this generalizable element. 1696 * @see GeneralizableElementFacade#getGeneralization() 1697 */ 1698 public GeneralizableElementFacade getGeneralization() 1699 { 1700 return this.getSuperService().getGeneralization(); 1701 } 1702 1703 /** 1704 * Gets the actual links that this generalization element is part of (it plays either the 1705 * specialization or generalization). 1706 * @see GeneralizableElementFacade#getGeneralizationLinks() 1707 */ 1708 public Collection<GeneralizationFacade> getGeneralizationLinks() 1709 { 1710 return this.getSuperService().getGeneralizationLinks(); 1711 } 1712 1713 /** 1714 * A comma separated list of the fully qualified names of all generalizations. 1715 * @see GeneralizableElementFacade#getGeneralizationList() 1716 */ 1717 public String getGeneralizationList() 1718 { 1719 return this.getSuperService().getGeneralizationList(); 1720 } 1721 1722 /** 1723 * The element found when you recursively follow the generalization path up to the root. If an 1724 * element has no generalization itself will be considered the root. 1725 * @see GeneralizableElementFacade#getGeneralizationRoot() 1726 */ 1727 public GeneralizableElementFacade getGeneralizationRoot() 1728 { 1729 return this.getSuperService().getGeneralizationRoot(); 1730 } 1731 1732 /** 1733 * Return all generalizations (ancestors) from this generalizable element. 1734 * @see GeneralizableElementFacade#getGeneralizations() 1735 */ 1736 public Collection<GeneralizableElementFacade> getGeneralizations() 1737 { 1738 return this.getSuperService().getGeneralizations(); 1739 } 1740 1741 /** 1742 * Gets the direct specializations (i.e. sub elements) for this generalizatble element. 1743 * @see GeneralizableElementFacade#getSpecializations() 1744 */ 1745 public Collection<GeneralizableElementFacade> getSpecializations() 1746 { 1747 return this.getSuperService().getSpecializations(); 1748 } 1749 1750 /** 1751 * Copies all tagged values from the given ModelElementFacade to this model element facade. 1752 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element) 1753 */ 1754 public void copyTaggedValues(ModelElementFacade element) 1755 { 1756 this.getSuperService().copyTaggedValues(element); 1757 } 1758 1759 /** 1760 * Finds the tagged value with the specified 'tagName'. In case there are more values the first 1761 * one found will be returned. 1762 * @see ModelElementFacade#findTaggedValue(String tagName) 1763 */ 1764 public Object findTaggedValue(String tagName) 1765 { 1766 return this.getSuperService().findTaggedValue(tagName); 1767 } 1768 1769 /** 1770 * Returns all the values for the tagged value with the specified name. The returned collection 1771 * will contains only String instances, or will be empty. Never null. 1772 * @see ModelElementFacade#findTaggedValues(String tagName) 1773 */ 1774 public Collection<Object> findTaggedValues(String tagName) 1775 { 1776 return this.getSuperService().findTaggedValues(tagName); 1777 } 1778 1779 /** 1780 * Returns the fully qualified name of the model element. The fully qualified name includes 1781 * complete package qualified name of the underlying model element. The templates parameter will 1782 * be replaced by the correct one given the binding relation of the parameter to this element. 1783 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement) 1784 */ 1785 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement) 1786 { 1787 return this.getSuperService().getBindedFullyQualifiedName(bindedElement); 1788 } 1789 1790 /** 1791 * Gets all constraints belonging to the model element. 1792 * @see ModelElementFacade#getConstraints() 1793 */ 1794 public Collection<ConstraintFacade> getConstraints() 1795 { 1796 return this.getSuperService().getConstraints(); 1797 } 1798 1799 /** 1800 * Returns the constraints of the argument kind that have been placed onto this model. Typical 1801 * kinds are "inv", "pre" and "post". Other kinds are possible. 1802 * @see ModelElementFacade#getConstraints(String kind) 1803 */ 1804 public Collection<ConstraintFacade> getConstraints(String kind) 1805 { 1806 return this.getSuperService().getConstraints(kind); 1807 } 1808 1809 /** 1810 * Gets the documentation for the model element, The indent argument is prefixed to each line. 1811 * By default this method wraps lines after 64 characters. 1812 * This method is equivalent to <code>getDocumentation(indent, 64)</code>. 1813 * @see ModelElementFacade#getDocumentation(String indent) 1814 */ 1815 public String getDocumentation(String indent) 1816 { 1817 return this.getSuperService().getDocumentation(indent); 1818 } 1819 1820 /** 1821 * This method returns the documentation for this model element, with the lines wrapped after 1822 * the specified number of characters, values of less than 1 will indicate no line wrapping is 1823 * required. By default paragraphs are returned as HTML. 1824 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>. 1825 * @see ModelElementFacade#getDocumentation(String indent, int lineLength) 1826 */ 1827 public String getDocumentation(String indent, int lineLength) 1828 { 1829 return this.getSuperService().getDocumentation(indent, lineLength); 1830 } 1831 1832 /** 1833 * This method returns the documentation for this model element, with the lines wrapped after 1834 * the specified number of characters, values of less than 1 will indicate no line wrapping is 1835 * required. HTML style determines if HTML Escaping is applied. 1836 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle) 1837 */ 1838 public String getDocumentation(String indent, int lineLength, boolean htmlStyle) 1839 { 1840 return this.getSuperService().getDocumentation(indent, lineLength, htmlStyle); 1841 } 1842 1843 /** 1844 * The fully qualified name of this model element. 1845 * @see ModelElementFacade#getFullyQualifiedName() 1846 */ 1847 public String getFullyQualifiedName() 1848 { 1849 return this.getSuperService().getFullyQualifiedName(); 1850 } 1851 1852 /** 1853 * Returns the fully qualified name of the model element. The fully qualified name includes 1854 * complete package qualified name of the underlying model element. If modelName is true, then 1855 * the original name of the model element (the name contained within the model) will be the name 1856 * returned, otherwise a name from a language mapping will be returned. 1857 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName) 1858 */ 1859 public String getFullyQualifiedName(boolean modelName) 1860 { 1861 return this.getSuperService().getFullyQualifiedName(modelName); 1862 } 1863 1864 /** 1865 * Returns the fully qualified name as a path, the returned value always starts with out a slash 1866 * '/'. 1867 * @see ModelElementFacade#getFullyQualifiedNamePath() 1868 */ 1869 public String getFullyQualifiedNamePath() 1870 { 1871 return this.getSuperService().getFullyQualifiedNamePath(); 1872 } 1873 1874 /** 1875 * Gets the unique identifier of the underlying model element. 1876 * @see ModelElementFacade#getId() 1877 */ 1878 public String getId() 1879 { 1880 return this.getSuperService().getId(); 1881 } 1882 1883 /** 1884 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which 1885 * are not represented by other properties, i.e. native, transient, volatile, synchronized, 1886 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings: 1887 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require 1888 * JDK5 compiler level. 1889 * @see ModelElementFacade#getKeywords() 1890 */ 1891 public Collection<String> getKeywords() 1892 { 1893 return this.getSuperService().getKeywords(); 1894 } 1895 1896 /** 1897 * UML2: Retrieves a localized label for this named element. 1898 * @see ModelElementFacade#getLabel() 1899 */ 1900 public String getLabel() 1901 { 1902 return this.getSuperService().getLabel(); 1903 } 1904 1905 /** 1906 * The language mappings that have been set for this model element. 1907 * @see ModelElementFacade#getLanguageMappings() 1908 */ 1909 public TypeMappings getLanguageMappings() 1910 { 1911 return this.getSuperService().getLanguageMappings(); 1912 } 1913 1914 /** 1915 * Return the model containing this model element (multiple models may be loaded and processed 1916 * at the same time). 1917 * @see ModelElementFacade#getModel() 1918 */ 1919 public ModelFacade getModel() 1920 { 1921 return this.getSuperService().getModel(); 1922 } 1923 1924 /** 1925 * The name of the model element. 1926 * @see ModelElementFacade#getName() 1927 */ 1928 public String getName() 1929 { 1930 return this.getSuperService().getName(); 1931 } 1932 1933 /** 1934 * Gets the package to which this model element belongs. 1935 * @see ModelElementFacade#getPackage() 1936 */ 1937 public ModelElementFacade getPackage() 1938 { 1939 return this.getSuperService().getPackage(); 1940 } 1941 1942 /** 1943 * The name of this model element's package. 1944 * @see ModelElementFacade#getPackageName() 1945 */ 1946 public String getPackageName() 1947 { 1948 return this.getSuperService().getPackageName(); 1949 } 1950 1951 /** 1952 * Gets the package name (optionally providing the ability to retrieve the model name and not 1953 * the mapped name). 1954 * @see ModelElementFacade#getPackageName(boolean modelName) 1955 */ 1956 public String getPackageName(boolean modelName) 1957 { 1958 return this.getSuperService().getPackageName(modelName); 1959 } 1960 1961 /** 1962 * Returns the package as a path, the returned value always starts with out a slash '/'. 1963 * @see ModelElementFacade#getPackagePath() 1964 */ 1965 public String getPackagePath() 1966 { 1967 return this.getSuperService().getPackagePath(); 1968 } 1969 1970 /** 1971 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the 1972 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from 1973 * the names of the containing namespaces starting at the root of the hierarchy and ending with 1974 * the name of the NamedElement itself. 1975 * @see ModelElementFacade#getQualifiedName() 1976 */ 1977 public String getQualifiedName() 1978 { 1979 return this.getSuperService().getQualifiedName(); 1980 } 1981 1982 /** 1983 * Gets the root package for the model element. 1984 * @see ModelElementFacade#getRootPackage() 1985 */ 1986 public PackageFacade getRootPackage() 1987 { 1988 return this.getSuperService().getRootPackage(); 1989 } 1990 1991 /** 1992 * Gets the dependencies for which this model element is the source. 1993 * @see ModelElementFacade#getSourceDependencies() 1994 */ 1995 public Collection<DependencyFacade> getSourceDependencies() 1996 { 1997 return this.getSuperService().getSourceDependencies(); 1998 } 1999 2000 /** 2001 * If this model element is the context of an activity graph, this represents that activity 2002 * graph. 2003 * @see ModelElementFacade#getStateMachineContext() 2004 */ 2005 public StateMachineFacade getStateMachineContext() 2006 { 2007 return this.getSuperService().getStateMachineContext(); 2008 } 2009 2010 /** 2011 * The collection of ALL stereotype names for this model element. 2012 * @see ModelElementFacade#getStereotypeNames() 2013 */ 2014 public Collection<String> getStereotypeNames() 2015 { 2016 return this.getSuperService().getStereotypeNames(); 2017 } 2018 2019 /** 2020 * Gets all stereotypes for this model element. 2021 * @see ModelElementFacade#getStereotypes() 2022 */ 2023 public Collection<StereotypeFacade> getStereotypes() 2024 { 2025 return this.getSuperService().getStereotypes(); 2026 } 2027 2028 /** 2029 * Return the TaggedValues associated with this model element, under all stereotypes. 2030 * @see ModelElementFacade#getTaggedValues() 2031 */ 2032 public Collection<TaggedValueFacade> getTaggedValues() 2033 { 2034 return this.getSuperService().getTaggedValues(); 2035 } 2036 2037 /** 2038 * Gets the dependencies for which this model element is the target. 2039 * @see ModelElementFacade#getTargetDependencies() 2040 */ 2041 public Collection<DependencyFacade> getTargetDependencies() 2042 { 2043 return this.getSuperService().getTargetDependencies(); 2044 } 2045 2046 /** 2047 * Get the template parameter for this model element having the parameterName 2048 * @see ModelElementFacade#getTemplateParameter(String parameterName) 2049 */ 2050 public Object getTemplateParameter(String parameterName) 2051 { 2052 return this.getSuperService().getTemplateParameter(parameterName); 2053 } 2054 2055 /** 2056 * Get the template parameters for this model element 2057 * @see ModelElementFacade#getTemplateParameters() 2058 */ 2059 public Collection<TemplateParameterFacade> getTemplateParameters() 2060 { 2061 return this.getSuperService().getTemplateParameters(); 2062 } 2063 2064 /** 2065 * The visibility (i.e. public, private, protected or package) of the model element, will 2066 * attempt a lookup for these values in the language mappings (if any). 2067 * @see ModelElementFacade#getVisibility() 2068 */ 2069 public String getVisibility() 2070 { 2071 return this.getSuperService().getVisibility(); 2072 } 2073 2074 /** 2075 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance 2076 * is taken into account when searching for the stereotype), false otherwise. 2077 * @see ModelElementFacade#hasExactStereotype(String stereotypeName) 2078 */ 2079 public boolean hasExactStereotype(String stereotypeName) 2080 { 2081 return this.getSuperService().hasExactStereotype(stereotypeName); 2082 } 2083 2084 /** 2085 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma, 2086 * pipe, semicolon, or << >> 2087 * @see ModelElementFacade#hasKeyword(String keywordName) 2088 */ 2089 public boolean hasKeyword(String keywordName) 2090 { 2091 return this.getSuperService().hasKeyword(keywordName); 2092 } 2093 2094 /** 2095 * Returns true if the model element has the specified stereotype. If the stereotype itself 2096 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if 2097 * one of the stereotype's ancestors has a matching name this method will return true, false 2098 * otherwise. 2099 * For example, if we have a certain stereotype called <<exception>> and a model element has a 2100 * stereotype called <<applicationException>> which extends <<exception>>, when calling this 2101 * method with 'stereotypeName' defined as 'exception' the method would return true since 2102 * <<applicationException>> inherits from <<exception>>. If you want to check if the model 2103 * element has the exact stereotype, then use the method 'hasExactStereotype' instead. 2104 * @see ModelElementFacade#hasStereotype(String stereotypeName) 2105 */ 2106 public boolean hasStereotype(String stereotypeName) 2107 { 2108 return this.getSuperService().hasStereotype(stereotypeName); 2109 } 2110 2111 /** 2112 * True if there are target dependencies from this element that are instances of BindingFacade. 2113 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies. 2114 * @see ModelElementFacade#isBindingDependenciesPresent() 2115 */ 2116 public boolean isBindingDependenciesPresent() 2117 { 2118 return this.getSuperService().isBindingDependenciesPresent(); 2119 } 2120 2121 /** 2122 * Indicates if any constraints are present on this model element. 2123 * @see ModelElementFacade#isConstraintsPresent() 2124 */ 2125 public boolean isConstraintsPresent() 2126 { 2127 return this.getSuperService().isConstraintsPresent(); 2128 } 2129 2130 /** 2131 * Indicates if any documentation is present on this model element. 2132 * @see ModelElementFacade#isDocumentationPresent() 2133 */ 2134 public boolean isDocumentationPresent() 2135 { 2136 return this.getSuperService().isDocumentationPresent(); 2137 } 2138 2139 /** 2140 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript. 2141 * @see ModelElementFacade#isReservedWord() 2142 */ 2143 public boolean isReservedWord() 2144 { 2145 return this.getSuperService().isReservedWord(); 2146 } 2147 2148 /** 2149 * True is there are template parameters on this model element. For UML2, applies to Class, 2150 * Operation, Property, and Parameter. 2151 * @see ModelElementFacade#isTemplateParametersPresent() 2152 */ 2153 public boolean isTemplateParametersPresent() 2154 { 2155 return this.getSuperService().isTemplateParametersPresent(); 2156 } 2157 2158 /** 2159 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++, 2160 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on 2161 * Enumerations and Interfaces, optionally applies on other model elements. 2162 * @see ModelElementFacade#isValidIdentifierName() 2163 */ 2164 public boolean isValidIdentifierName() 2165 { 2166 return this.getSuperService().isValidIdentifierName(); 2167 } 2168 2169 /** 2170 * Searches for the constraint with the specified 'name' on this model element, and if found 2171 * translates it using the specified 'translation' from a translation library discovered by the 2172 * framework. 2173 * @see ModelElementFacade#translateConstraint(String name, String translation) 2174 */ 2175 public String translateConstraint(String name, String translation) 2176 { 2177 return this.getSuperService().translateConstraint(name, translation); 2178 } 2179 2180 /** 2181 * Translates all constraints belonging to this model element with the given 'translation'. 2182 * @see ModelElementFacade#translateConstraints(String translation) 2183 */ 2184 public String[] translateConstraints(String translation) 2185 { 2186 return this.getSuperService().translateConstraints(translation); 2187 } 2188 2189 /** 2190 * Translates the constraints of the specified 'kind' belonging to this model element. 2191 * @see ModelElementFacade#translateConstraints(String kind, String translation) 2192 */ 2193 public String[] translateConstraints(String kind, String translation) 2194 { 2195 return this.getSuperService().translateConstraints(kind, translation); 2196 } 2197 2198 /** 2199 * Returns a collection of all entities this service and its ancestors have a relation to. 2200 * @see Service#getAllEntityReferences() 2201 */ 2202 public Collection<DependencyFacade> getAllEntityReferences() 2203 { 2204 return this.getSuperService().getAllEntityReferences(); 2205 } 2206 2207 /** 2208 * All messaging destinations that belong to this service and all decendent services. 2209 * @see Service#getAllMessagingDestinations() 2210 */ 2211 public Collection<Destination> getAllMessagingDestinations() 2212 { 2213 return this.getSuperService().getAllMessagingDestinations(); 2214 } 2215 2216 /** 2217 * All roles associated with the service, this includes both roles that have access to the 2218 * entire service, and any roles that have access to a single operation. 2219 * @see Service#getAllRoles() 2220 */ 2221 public Collection<Role> getAllRoles() 2222 { 2223 return this.getSuperService().getAllRoles(); 2224 } 2225 2226 /** 2227 * Returns a collection of all services this service and its ancestors have a relation to. 2228 * @see Service#getAllServiceReferences() 2229 */ 2230 public Collection<DependencyFacade> getAllServiceReferences() 2231 { 2232 return this.getSuperService().getAllServiceReferences(); 2233 } 2234 2235 /** 2236 * References to all entities to which this service has a dependency. 2237 * @see Service#getEntityReferences() 2238 */ 2239 public Collection<DependencyFacade> getEntityReferences() 2240 { 2241 return this.getSuperService().getEntityReferences(); 2242 } 2243 2244 /** 2245 * All messaging destinations available to this service. 2246 * @see Service#getMessagingDestinations() 2247 */ 2248 public Collection<Destination> getMessagingDestinations() 2249 { 2250 return this.getSuperService().getMessagingDestinations(); 2251 } 2252 2253 /** 2254 * The roles of the service, these are the actor's that can access this service. 2255 * @see Service#getRoles() 2256 */ 2257 public Collection<Role> getRoles() 2258 { 2259 return this.getSuperService().getRoles(); 2260 } 2261 2262 /** 2263 * References to all services to which this service has a dependency. 2264 * @see Service#getServiceReferences() 2265 */ 2266 public Collection<DependencyFacade> getServiceReferences() 2267 { 2268 return this.getSuperService().getServiceReferences(); 2269 } 2270 2271 /** 2272 * @see org.andromda.core.metafacade.MetafacadeBase#initialize() 2273 */ 2274 @Override 2275 public void initialize() 2276 { 2277 this.getSuperService().initialize(); 2278 } 2279 2280 /** 2281 * @return Object getSuperService().getValidationOwner() 2282 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner() 2283 */ 2284 @Override 2285 public Object getValidationOwner() 2286 { 2287 Object owner = this.getSuperService().getValidationOwner(); 2288 return owner; 2289 } 2290 2291 /** 2292 * @return String getSuperService().getValidationName() 2293 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName() 2294 */ 2295 @Override 2296 public String getValidationName() 2297 { 2298 String name = this.getSuperService().getValidationName(); 2299 return name; 2300 } 2301 2302 /** 2303 * @param validationMessages Collection<ModelValidationMessage> 2304 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages) 2305 */ 2306 @Override 2307 public void validateInvariants(Collection<ModelValidationMessage> validationMessages) 2308 { 2309 this.getSuperService().validateInvariants(validationMessages); 2310 } 2311 2312 /** 2313 * The property that stores the name of the metafacade. 2314 */ 2315 private static final String NAME_PROPERTY = "name"; 2316 private static final String FQNAME_PROPERTY = "fullyQualifiedName"; 2317 2318 /** 2319 * @see Object#toString() 2320 */ 2321 @Override 2322 public String toString() 2323 { 2324 final StringBuilder toString = new StringBuilder(this.getClass().getName()); 2325 toString.append("["); 2326 try 2327 { 2328 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY)); 2329 } 2330 catch (final Throwable tryAgain) 2331 { 2332 try 2333 { 2334 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY)); 2335 } 2336 catch (final Throwable ignore) 2337 { 2338 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property 2339 } 2340 } 2341 toString.append("]"); 2342 return toString.toString(); 2343 } 2344}