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.Entity; 019import org.andromda.metafacades.uml.EntityAssociationEnd; 020import org.andromda.metafacades.uml.EntityQueryOperation; 021import org.andromda.metafacades.uml.GeneralizableElementFacade; 022import org.andromda.metafacades.uml.GeneralizationFacade; 023import org.andromda.metafacades.uml.ModelElementFacade; 024import org.andromda.metafacades.uml.ModelFacade; 025import org.andromda.metafacades.uml.OperationFacade; 026import org.andromda.metafacades.uml.PackageFacade; 027import org.andromda.metafacades.uml.Role; 028import org.andromda.metafacades.uml.StateMachineFacade; 029import org.andromda.metafacades.uml.StereotypeFacade; 030import org.andromda.metafacades.uml.TaggedValueFacade; 031import org.andromda.metafacades.uml.TemplateParameterFacade; 032import org.andromda.metafacades.uml.TypeMappings; 033import org.andromda.translation.ocl.validation.OCLCollections; 034import org.andromda.translation.ocl.validation.OCLIntrospector; 035import org.andromda.translation.ocl.validation.OCLResultEnsurer; 036import org.apache.log4j.Logger; 037 038/** 039 * Represents an entity EJB. 040 * MetafacadeLogic for EJB3EntityFacade 041 * 042 * @see EJB3EntityFacade 043 */ 044public abstract class EJB3EntityFacadeLogic 045 extends MetafacadeBase 046 implements EJB3EntityFacade 047{ 048 /** 049 * The underlying UML object 050 * @see Object 051 */ 052 protected Object metaObject; 053 054 /** Create Metafacade implementation instance using the MetafacadeFactory from the context 055 * @param metaObjectIn 056 * @param context 057 */ 058 protected EJB3EntityFacadeLogic(Object metaObjectIn, String context) 059 { 060 super(metaObjectIn, getContext(context)); 061 this.superEntity = 062 (Entity) 063 MetafacadeFactory.getInstance().createFacadeImpl( 064 "org.andromda.metafacades.uml.Entity", 065 metaObjectIn, 066 getContext(context)); 067 this.metaObject = metaObjectIn; 068 } 069 070 /** 071 * The logger instance. 072 */ 073 private static final Logger logger = Logger.getLogger(EJB3EntityFacadeLogic.class); 074 075 /** 076 * Gets the context for this metafacade logic instance. 077 * @param context String. Set to EJB3EntityFacade if null 078 * @return context String 079 */ 080 private static String getContext(String context) 081 { 082 if (context == null) 083 { 084 context = "org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacade"; 085 } 086 return context; 087 } 088 089 private Entity superEntity; 090 private boolean superEntityInitialized = false; 091 092 /** 093 * Gets the Entity parent instance. 094 * @return this.superEntity Entity 095 */ 096 private Entity getSuperEntity() 097 { 098 if (!this.superEntityInitialized) 099 { 100 ((MetafacadeBase)this.superEntity).setMetafacadeContext(this.getMetafacadeContext()); 101 this.superEntityInitialized = true; 102 } 103 return this.superEntity; 104 } 105 106 /** Reset context only for non-root metafacades 107 * @param context 108 * @see MetafacadeBase#resetMetafacadeContext(String context) 109 */ 110 @Override 111 public void resetMetafacadeContext(String context) 112 { 113 if (!this.contextRoot) // reset context only for non-root metafacades 114 { 115 context = getContext(context); // to have same value as in original constructor call 116 setMetafacadeContext (context); 117 if (this.superEntityInitialized) 118 { 119 ((MetafacadeBase)this.superEntity).resetMetafacadeContext(context); 120 } 121 } 122 } 123 124 /** 125 * @return boolean true always 126 * @see EJB3EntityFacade 127 */ 128 public boolean isEJB3EntityFacadeMetaType() 129 { 130 return true; 131 } 132 133 // --------------- attributes --------------------- 134 135 /** 136 * @see EJB3EntityFacade#isSyntheticCreateMethodAllowed() 137 * @return boolean 138 */ 139 protected abstract boolean handleIsSyntheticCreateMethodAllowed(); 140 141 private boolean __syntheticCreateMethodAllowed1a; 142 private boolean __syntheticCreateMethodAllowed1aSet = false; 143 144 /** 145 * Whether or not to allow a synthetic (auto generated) create method. 146 * @return (boolean)handleIsSyntheticCreateMethodAllowed() 147 */ 148 public final boolean isSyntheticCreateMethodAllowed() 149 { 150 boolean syntheticCreateMethodAllowed1a = this.__syntheticCreateMethodAllowed1a; 151 if (!this.__syntheticCreateMethodAllowed1aSet) 152 { 153 // syntheticCreateMethodAllowed has no pre constraints 154 syntheticCreateMethodAllowed1a = handleIsSyntheticCreateMethodAllowed(); 155 // syntheticCreateMethodAllowed has no post constraints 156 this.__syntheticCreateMethodAllowed1a = syntheticCreateMethodAllowed1a; 157 if (isMetafacadePropertyCachingEnabled()) 158 { 159 this.__syntheticCreateMethodAllowed1aSet = true; 160 } 161 } 162 return syntheticCreateMethodAllowed1a; 163 } 164 165 /** 166 * @see EJB3EntityFacade#getAllEntityRelations() 167 * @return Collection 168 */ 169 protected abstract Collection handleGetAllEntityRelations(); 170 171 private Collection __allEntityRelations2a; 172 private boolean __allEntityRelations2aSet = false; 173 174 /** 175 * Find all associations that define relations to other entities. 176 * This method returns the source association ends for all associations that define 177 * a container managed relation. The returned collection includes both 178 * direct relations and inherited relations. A direct relation is an association with some other 179 * class matching the following criteria: 1) The class at the other side of the association is 180 * stereotyped <<Entity>> 2) The association is navigable from to the other side. 181 * An inherited relation is an association from an abstract super type matching the following 182 * criteria: 1) The inheritance path to this abstract super type, including this super type 183 * itself, consists only of abstract classes with stereotype <<Entity>> 2) The class at the 184 * other side of the association is stereotyped <<Entity>>. 3) The association is navigable from 185 * this abstract super type to the other side. 186 * Relations must match the following integrity constraint: 187 * - The <<Entity>> at the target end is not abstract. 188 * The integrity constraint is necessary because the target of a container managed relation in 189 * the EJB framework must be a concrete entity bean; there is no such thing as an 190 * "abstract entity bean" in the EJB specification. It is possible, however, to generate and 191 * compile code for this case, an error will only show up at deploy time. In order to catch 192 * this kind of error at the earliest possible stage, this method checks the integrity 193 * constraint and throws an exception if it is violated. 194 * @return (Collection)handleGetAllEntityRelations() 195 */ 196 public final Collection getAllEntityRelations() 197 { 198 Collection allEntityRelations2a = this.__allEntityRelations2a; 199 if (!this.__allEntityRelations2aSet) 200 { 201 // allEntityRelations has no pre constraints 202 allEntityRelations2a = handleGetAllEntityRelations(); 203 // allEntityRelations has no post constraints 204 this.__allEntityRelations2a = allEntityRelations2a; 205 if (isMetafacadePropertyCachingEnabled()) 206 { 207 this.__allEntityRelations2aSet = true; 208 } 209 } 210 return allEntityRelations2a; 211 } 212 213 /** 214 * @see EJB3EntityFacade#getJndiName() 215 * @return String 216 */ 217 protected abstract String handleGetJndiName(); 218 219 private String __jndiName3a; 220 private boolean __jndiName3aSet = false; 221 222 /** 223 * jndiNamePrefix/ejb/this.getFullyQualifiedName() 224 * @return (String)handleGetJndiName() 225 */ 226 public final String getJndiName() 227 { 228 String jndiName3a = this.__jndiName3a; 229 if (!this.__jndiName3aSet) 230 { 231 // jndiName has no pre constraints 232 jndiName3a = handleGetJndiName(); 233 // jndiName has no post constraints 234 this.__jndiName3a = jndiName3a; 235 if (isMetafacadePropertyCachingEnabled()) 236 { 237 this.__jndiName3aSet = true; 238 } 239 } 240 return jndiName3a; 241 } 242 243 /** 244 * @see EJB3EntityFacade#getViewType() 245 * @return String 246 */ 247 protected abstract String handleGetViewType(); 248 249 private String __viewType4a; 250 private boolean __viewType4aSet = false; 251 252 /** 253 * A string indicating whether the Bean is a local or remotely accessable bean. 254 * @return (String)handleGetViewType() 255 */ 256 public final String getViewType() 257 { 258 String viewType4a = this.__viewType4a; 259 if (!this.__viewType4aSet) 260 { 261 // viewType has no pre constraints 262 viewType4a = handleGetViewType(); 263 // viewType has no post constraints 264 this.__viewType4a = viewType4a; 265 if (isMetafacadePropertyCachingEnabled()) 266 { 267 this.__viewType4aSet = true; 268 } 269 } 270 return viewType4a; 271 } 272 273 /** 274 * @see EJB3EntityFacade#getAllInstanceAttributes() 275 * @return List 276 */ 277 protected abstract List handleGetAllInstanceAttributes(); 278 279 private List __allInstanceAttributes5a; 280 private boolean __allInstanceAttributes5aSet = false; 281 282 /** 283 * All instanceAttributes for this entity. The list includes the instanceAttributes that are 284 * inherited from super classes. The list contains the inherited instanceAttributes first, 285 * followed by the instanceAttributes defined in this class. 286 * @return (List)handleGetAllInstanceAttributes() 287 */ 288 public final List getAllInstanceAttributes() 289 { 290 List allInstanceAttributes5a = this.__allInstanceAttributes5a; 291 if (!this.__allInstanceAttributes5aSet) 292 { 293 // allInstanceAttributes has no pre constraints 294 allInstanceAttributes5a = handleGetAllInstanceAttributes(); 295 // allInstanceAttributes has no post constraints 296 this.__allInstanceAttributes5a = allInstanceAttributes5a; 297 if (isMetafacadePropertyCachingEnabled()) 298 { 299 this.__allInstanceAttributes5aSet = true; 300 } 301 } 302 return allInstanceAttributes5a; 303 } 304 305 /** 306 * @see EJB3EntityFacade#getInheritedInstanceAttributes() 307 * @return List 308 */ 309 protected abstract List handleGetInheritedInstanceAttributes(); 310 311 private List __inheritedInstanceAttributes6a; 312 private boolean __inheritedInstanceAttributes6aSet = false; 313 314 /** 315 * All inherited instanceAttributes this class. The instanceAttributes are grouped by the class 316 * that defines the instanceAttributes, with instanceAttributes from the most removed super 317 * class first. 318 * @return (List)handleGetInheritedInstanceAttributes() 319 */ 320 public final List getInheritedInstanceAttributes() 321 { 322 List inheritedInstanceAttributes6a = this.__inheritedInstanceAttributes6a; 323 if (!this.__inheritedInstanceAttributes6aSet) 324 { 325 // inheritedInstanceAttributes has no pre constraints 326 inheritedInstanceAttributes6a = handleGetInheritedInstanceAttributes(); 327 // inheritedInstanceAttributes has no post constraints 328 this.__inheritedInstanceAttributes6a = inheritedInstanceAttributes6a; 329 if (isMetafacadePropertyCachingEnabled()) 330 { 331 this.__inheritedInstanceAttributes6aSet = true; 332 } 333 } 334 return inheritedInstanceAttributes6a; 335 } 336 337 /** 338 * @see EJB3EntityFacade#getHomeInterfaceName() 339 * @return String 340 */ 341 protected abstract String handleGetHomeInterfaceName(); 342 343 private String __homeInterfaceName7a; 344 private boolean __homeInterfaceName7aSet = false; 345 346 /** 347 * A String representing the name of a home interface for this entity EJB. 348 * @return (String)handleGetHomeInterfaceName() 349 */ 350 public final String getHomeInterfaceName() 351 { 352 String homeInterfaceName7a = this.__homeInterfaceName7a; 353 if (!this.__homeInterfaceName7aSet) 354 { 355 // homeInterfaceName has no pre constraints 356 homeInterfaceName7a = handleGetHomeInterfaceName(); 357 // homeInterfaceName has no post constraints 358 this.__homeInterfaceName7a = homeInterfaceName7a; 359 if (isMetafacadePropertyCachingEnabled()) 360 { 361 this.__homeInterfaceName7aSet = true; 362 } 363 } 364 return homeInterfaceName7a; 365 } 366 367 /** 368 * @see EJB3EntityFacade#getValueDependencies() 369 * @return Collection 370 */ 371 protected abstract Collection handleGetValueDependencies(); 372 373 private Collection __valueDependencies8a; 374 private boolean __valueDependencies8aSet = false; 375 376 /** 377 * ValueObject dependency references from this Entity 378 * @return (Collection)handleGetValueDependencies() 379 */ 380 public final Collection getValueDependencies() 381 { 382 Collection valueDependencies8a = this.__valueDependencies8a; 383 if (!this.__valueDependencies8aSet) 384 { 385 // valueDependencies has no pre constraints 386 valueDependencies8a = handleGetValueDependencies(); 387 // valueDependencies has no post constraints 388 this.__valueDependencies8a = valueDependencies8a; 389 if (isMetafacadePropertyCachingEnabled()) 390 { 391 this.__valueDependencies8aSet = true; 392 } 393 } 394 return valueDependencies8a; 395 } 396 397 /** 398 * @see EJB3EntityFacade#getEntityRelations() 399 * @return Collection 400 */ 401 protected abstract Collection handleGetEntityRelations(); 402 403 private Collection __entityRelations9a; 404 private boolean __entityRelations9aSet = false; 405 406 /** 407 * Entity classes that are association relationships from this entity. 408 * @return (Collection)handleGetEntityRelations() 409 */ 410 public final Collection getEntityRelations() 411 { 412 Collection entityRelations9a = this.__entityRelations9a; 413 if (!this.__entityRelations9aSet) 414 { 415 // entityRelations has no pre constraints 416 entityRelations9a = handleGetEntityRelations(); 417 // entityRelations has no post constraints 418 this.__entityRelations9a = entityRelations9a; 419 if (isMetafacadePropertyCachingEnabled()) 420 { 421 this.__entityRelations9aSet = true; 422 } 423 } 424 return entityRelations9a; 425 } 426 427 /** 428 * @see EJB3EntityFacade#getEntityListenerName() 429 * @return String 430 */ 431 protected abstract String handleGetEntityListenerName(); 432 433 private String __entityListenerName10a; 434 private boolean __entityListenerName10aSet = false; 435 436 /** 437 * Entity listener class name for callback methods. 438 * @return (String)handleGetEntityListenerName() 439 */ 440 public final String getEntityListenerName() 441 { 442 String entityListenerName10a = this.__entityListenerName10a; 443 if (!this.__entityListenerName10aSet) 444 { 445 // entityListenerName has no pre constraints 446 entityListenerName10a = handleGetEntityListenerName(); 447 // entityListenerName has no post constraints 448 this.__entityListenerName10a = entityListenerName10a; 449 if (isMetafacadePropertyCachingEnabled()) 450 { 451 this.__entityListenerName10aSet = true; 452 } 453 } 454 return entityListenerName10a; 455 } 456 457 /** 458 * @see EJB3EntityFacade#getEntityEmbeddableName() 459 * @return String 460 */ 461 protected abstract String handleGetEntityEmbeddableName(); 462 463 private String __entityEmbeddableName11a; 464 private boolean __entityEmbeddableName11aSet = false; 465 466 /** 467 * Entity embeddable super class name this entity inherits from. 468 * @return (String)handleGetEntityEmbeddableName() 469 */ 470 public final String getEntityEmbeddableName() 471 { 472 String entityEmbeddableName11a = this.__entityEmbeddableName11a; 473 if (!this.__entityEmbeddableName11aSet) 474 { 475 // entityEmbeddableName has no pre constraints 476 entityEmbeddableName11a = handleGetEntityEmbeddableName(); 477 // entityEmbeddableName has no post constraints 478 this.__entityEmbeddableName11a = entityEmbeddableName11a; 479 if (isMetafacadePropertyCachingEnabled()) 480 { 481 this.__entityEmbeddableName11aSet = true; 482 } 483 } 484 return entityEmbeddableName11a; 485 } 486 487 /** 488 * @see EJB3EntityFacade#getFullyQualifiedEntityListenerName() 489 * @return String 490 */ 491 protected abstract String handleGetFullyQualifiedEntityListenerName(); 492 493 private String __fullyQualifiedEntityListenerName12a; 494 private boolean __fullyQualifiedEntityListenerName12aSet = false; 495 496 /** 497 * Fully qualified name of the Entity listner class holding entity callback methods. 498 * @return (String)handleGetFullyQualifiedEntityListenerName() 499 */ 500 public final String getFullyQualifiedEntityListenerName() 501 { 502 String fullyQualifiedEntityListenerName12a = this.__fullyQualifiedEntityListenerName12a; 503 if (!this.__fullyQualifiedEntityListenerName12aSet) 504 { 505 // fullyQualifiedEntityListenerName has no pre constraints 506 fullyQualifiedEntityListenerName12a = handleGetFullyQualifiedEntityListenerName(); 507 // fullyQualifiedEntityListenerName has no post constraints 508 this.__fullyQualifiedEntityListenerName12a = fullyQualifiedEntityListenerName12a; 509 if (isMetafacadePropertyCachingEnabled()) 510 { 511 this.__fullyQualifiedEntityListenerName12aSet = true; 512 } 513 } 514 return fullyQualifiedEntityListenerName12a; 515 } 516 517 /** 518 * @see EJB3EntityFacade#getFullyQualifiedEntityEmbeddableName() 519 * @return String 520 */ 521 protected abstract String handleGetFullyQualifiedEntityEmbeddableName(); 522 523 private String __fullyQualifiedEntityEmbeddableName13a; 524 private boolean __fullyQualifiedEntityEmbeddableName13aSet = false; 525 526 /** 527 * The fully qualified name of the embeddable super class of this entity. 528 * @return (String)handleGetFullyQualifiedEntityEmbeddableName() 529 */ 530 public final String getFullyQualifiedEntityEmbeddableName() 531 { 532 String fullyQualifiedEntityEmbeddableName13a = this.__fullyQualifiedEntityEmbeddableName13a; 533 if (!this.__fullyQualifiedEntityEmbeddableName13aSet) 534 { 535 // fullyQualifiedEntityEmbeddableName has no pre constraints 536 fullyQualifiedEntityEmbeddableName13a = handleGetFullyQualifiedEntityEmbeddableName(); 537 // fullyQualifiedEntityEmbeddableName has no post constraints 538 this.__fullyQualifiedEntityEmbeddableName13a = fullyQualifiedEntityEmbeddableName13a; 539 if (isMetafacadePropertyCachingEnabled()) 540 { 541 this.__fullyQualifiedEntityEmbeddableName13aSet = true; 542 } 543 } 544 return fullyQualifiedEntityEmbeddableName13a; 545 } 546 547 /** 548 * @see EJB3EntityFacade#getDefaultCascadeType() 549 * @return String 550 */ 551 protected abstract String handleGetDefaultCascadeType(); 552 553 private String __defaultCascadeType14a; 554 private boolean __defaultCascadeType14aSet = false; 555 556 /** 557 * Returns the default entity cascadable property attribute looked up in the namespace 558 * descriptor. 559 * @return (String)handleGetDefaultCascadeType() 560 */ 561 public final String getDefaultCascadeType() 562 { 563 String defaultCascadeType14a = this.__defaultCascadeType14a; 564 if (!this.__defaultCascadeType14aSet) 565 { 566 // defaultCascadeType has no pre constraints 567 defaultCascadeType14a = handleGetDefaultCascadeType(); 568 // defaultCascadeType has no post constraints 569 this.__defaultCascadeType14a = defaultCascadeType14a; 570 if (isMetafacadePropertyCachingEnabled()) 571 { 572 this.__defaultCascadeType14aSet = true; 573 } 574 } 575 return defaultCascadeType14a; 576 } 577 578 /** 579 * @see EJB3EntityFacade#getDiscriminatorColumn() 580 * @return String 581 */ 582 protected abstract String handleGetDiscriminatorColumn(); 583 584 private String __discriminatorColumn15a; 585 private boolean __discriminatorColumn15aSet = false; 586 587 /** 588 * The name of the discriminator column. Default is TYPE if this is missing. 589 * @return (String)handleGetDiscriminatorColumn() 590 */ 591 public final String getDiscriminatorColumn() 592 { 593 String discriminatorColumn15a = this.__discriminatorColumn15a; 594 if (!this.__discriminatorColumn15aSet) 595 { 596 // discriminatorColumn has no pre constraints 597 discriminatorColumn15a = handleGetDiscriminatorColumn(); 598 // discriminatorColumn has no post constraints 599 this.__discriminatorColumn15a = discriminatorColumn15a; 600 if (isMetafacadePropertyCachingEnabled()) 601 { 602 this.__discriminatorColumn15aSet = true; 603 } 604 } 605 return discriminatorColumn15a; 606 } 607 608 /** 609 * @see EJB3EntityFacade#getDiscriminatorColumnDefinition() 610 * @return String 611 */ 612 protected abstract String handleGetDiscriminatorColumnDefinition(); 613 614 private String __discriminatorColumnDefinition16a; 615 private boolean __discriminatorColumnDefinition16aSet = false; 616 617 /** 618 * The SQL used when generating the DDL for the discriminator column. 619 * @return (String)handleGetDiscriminatorColumnDefinition() 620 */ 621 public final String getDiscriminatorColumnDefinition() 622 { 623 String discriminatorColumnDefinition16a = this.__discriminatorColumnDefinition16a; 624 if (!this.__discriminatorColumnDefinition16aSet) 625 { 626 // discriminatorColumnDefinition has no pre constraints 627 discriminatorColumnDefinition16a = handleGetDiscriminatorColumnDefinition(); 628 // discriminatorColumnDefinition has no post constraints 629 this.__discriminatorColumnDefinition16a = discriminatorColumnDefinition16a; 630 if (isMetafacadePropertyCachingEnabled()) 631 { 632 this.__discriminatorColumnDefinition16aSet = true; 633 } 634 } 635 return discriminatorColumnDefinition16a; 636 } 637 638 /** 639 * @see EJB3EntityFacade#getDiscriminatorLength() 640 * @return int 641 */ 642 protected abstract int handleGetDiscriminatorLength(); 643 644 private int __discriminatorLength17a; 645 private boolean __discriminatorLength17aSet = false; 646 647 /** 648 * The standard length of a discriminator value. Default is 10. 649 * @return (int)handleGetDiscriminatorLength() 650 */ 651 public final int getDiscriminatorLength() 652 { 653 int discriminatorLength17a = this.__discriminatorLength17a; 654 if (!this.__discriminatorLength17aSet) 655 { 656 // discriminatorLength has no pre constraints 657 discriminatorLength17a = handleGetDiscriminatorLength(); 658 // discriminatorLength has no post constraints 659 this.__discriminatorLength17a = discriminatorLength17a; 660 if (isMetafacadePropertyCachingEnabled()) 661 { 662 this.__discriminatorLength17aSet = true; 663 } 664 } 665 return discriminatorLength17a; 666 } 667 668 /** 669 * @see EJB3EntityFacade#getDiscriminatorType() 670 * @return String 671 */ 672 protected abstract String handleGetDiscriminatorType(); 673 674 private String __discriminatorType18a; 675 private boolean __discriminatorType18aSet = false; 676 677 /** 678 * The type of the entity discriminator column. Default is STRING. 679 * @return (String)handleGetDiscriminatorType() 680 */ 681 public final String getDiscriminatorType() 682 { 683 String discriminatorType18a = this.__discriminatorType18a; 684 if (!this.__discriminatorType18aSet) 685 { 686 // discriminatorType has no pre constraints 687 discriminatorType18a = handleGetDiscriminatorType(); 688 // discriminatorType has no post constraints 689 this.__discriminatorType18a = discriminatorType18a; 690 if (isMetafacadePropertyCachingEnabled()) 691 { 692 this.__discriminatorType18aSet = true; 693 } 694 } 695 return discriminatorType18a; 696 } 697 698 /** 699 * @see EJB3EntityFacade#getDiscriminatorValue() 700 * @return String 701 */ 702 protected abstract String handleGetDiscriminatorValue(); 703 704 private String __discriminatorValue19a; 705 private boolean __discriminatorValue19aSet = false; 706 707 /** 708 * The value indicating the row in an entity of the annotated entity type. 709 * @return (String)handleGetDiscriminatorValue() 710 */ 711 public final String getDiscriminatorValue() 712 { 713 String discriminatorValue19a = this.__discriminatorValue19a; 714 if (!this.__discriminatorValue19aSet) 715 { 716 // discriminatorValue has no pre constraints 717 discriminatorValue19a = handleGetDiscriminatorValue(); 718 // discriminatorValue has no post constraints 719 this.__discriminatorValue19a = discriminatorValue19a; 720 if (isMetafacadePropertyCachingEnabled()) 721 { 722 this.__discriminatorValue19aSet = true; 723 } 724 } 725 return discriminatorValue19a; 726 } 727 728 /** 729 * @see EJB3EntityFacade#isInheritanceSingleTable() 730 * @return boolean 731 */ 732 protected abstract boolean handleIsInheritanceSingleTable(); 733 734 private boolean __inheritanceSingleTable20a; 735 private boolean __inheritanceSingleTable20aSet = false; 736 737 /** 738 * Return true if the entity inheritance strategy as specified by the tagged value 739 * andromda_persistence_inheritance is defined as SINGLE_TABLE. 740 * @return (boolean)handleIsInheritanceSingleTable() 741 */ 742 public final boolean isInheritanceSingleTable() 743 { 744 boolean inheritanceSingleTable20a = this.__inheritanceSingleTable20a; 745 if (!this.__inheritanceSingleTable20aSet) 746 { 747 // inheritanceSingleTable has no pre constraints 748 inheritanceSingleTable20a = handleIsInheritanceSingleTable(); 749 // inheritanceSingleTable has no post constraints 750 this.__inheritanceSingleTable20a = inheritanceSingleTable20a; 751 if (isMetafacadePropertyCachingEnabled()) 752 { 753 this.__inheritanceSingleTable20aSet = true; 754 } 755 } 756 return inheritanceSingleTable20a; 757 } 758 759 /** 760 * @see EJB3EntityFacade#getInheritanceStrategy() 761 * @return String 762 */ 763 protected abstract String handleGetInheritanceStrategy(); 764 765 private String __inheritanceStrategy21a; 766 private boolean __inheritanceStrategy21aSet = false; 767 768 /** 769 * Return the value of the andromda_persistence_inheritance tagged value which is an enumeration 770 * containing SINGLE_TABLE, TABLE_PER_CLASS or JOINED. 771 * @return (String)handleGetInheritanceStrategy() 772 */ 773 public final String getInheritanceStrategy() 774 { 775 String inheritanceStrategy21a = this.__inheritanceStrategy21a; 776 if (!this.__inheritanceStrategy21aSet) 777 { 778 // inheritanceStrategy has no pre constraints 779 inheritanceStrategy21a = handleGetInheritanceStrategy(); 780 // inheritanceStrategy has no post constraints 781 this.__inheritanceStrategy21a = inheritanceStrategy21a; 782 if (isMetafacadePropertyCachingEnabled()) 783 { 784 this.__inheritanceStrategy21aSet = true; 785 } 786 } 787 return inheritanceStrategy21a; 788 } 789 790 /** 791 * @see EJB3EntityFacade#isInheritanceTablePerClass() 792 * @return boolean 793 */ 794 protected abstract boolean handleIsInheritanceTablePerClass(); 795 796 private boolean __inheritanceTablePerClass22a; 797 private boolean __inheritanceTablePerClass22aSet = false; 798 799 /** 800 * Return true if the entity inheritance strategy as specified by the tagged value 801 * andromda_persistence_inheritance is defined as TABLE_PER_CLASS. 802 * @return (boolean)handleIsInheritanceTablePerClass() 803 */ 804 public final boolean isInheritanceTablePerClass() 805 { 806 boolean inheritanceTablePerClass22a = this.__inheritanceTablePerClass22a; 807 if (!this.__inheritanceTablePerClass22aSet) 808 { 809 // inheritanceTablePerClass has no pre constraints 810 inheritanceTablePerClass22a = handleIsInheritanceTablePerClass(); 811 // inheritanceTablePerClass has no post constraints 812 this.__inheritanceTablePerClass22a = inheritanceTablePerClass22a; 813 if (isMetafacadePropertyCachingEnabled()) 814 { 815 this.__inheritanceTablePerClass22aSet = true; 816 } 817 } 818 return inheritanceTablePerClass22a; 819 } 820 821 /** 822 * @see EJB3EntityFacade#isInheritanceJoined() 823 * @return boolean 824 */ 825 protected abstract boolean handleIsInheritanceJoined(); 826 827 private boolean __inheritanceJoined23a; 828 private boolean __inheritanceJoined23aSet = false; 829 830 /** 831 * Return true if the entity inheritance strategy as specified by the tagged value 832 * andromda_persistence_inheritance is defined as JOINED. 833 * @return (boolean)handleIsInheritanceJoined() 834 */ 835 public final boolean isInheritanceJoined() 836 { 837 boolean inheritanceJoined23a = this.__inheritanceJoined23a; 838 if (!this.__inheritanceJoined23aSet) 839 { 840 // inheritanceJoined has no pre constraints 841 inheritanceJoined23a = handleIsInheritanceJoined(); 842 // inheritanceJoined has no post constraints 843 this.__inheritanceJoined23a = inheritanceJoined23a; 844 if (isMetafacadePropertyCachingEnabled()) 845 { 846 this.__inheritanceJoined23aSet = true; 847 } 848 } 849 return inheritanceJoined23a; 850 } 851 852 /** 853 * @see EJB3EntityFacade#isRequiresSpecializationMapping() 854 * @return boolean 855 */ 856 protected abstract boolean handleIsRequiresSpecializationMapping(); 857 858 private boolean __requiresSpecializationMapping24a; 859 private boolean __requiresSpecializationMapping24aSet = false; 860 861 /** 862 * Returns true if the entity requires specialization mapping. The Inheritance annotation is 863 * required for parent entities for all inheritance strategies. 864 * @return (boolean)handleIsRequiresSpecializationMapping() 865 */ 866 public final boolean isRequiresSpecializationMapping() 867 { 868 boolean requiresSpecializationMapping24a = this.__requiresSpecializationMapping24a; 869 if (!this.__requiresSpecializationMapping24aSet) 870 { 871 // requiresSpecializationMapping has no pre constraints 872 requiresSpecializationMapping24a = handleIsRequiresSpecializationMapping(); 873 // requiresSpecializationMapping has no post constraints 874 this.__requiresSpecializationMapping24a = requiresSpecializationMapping24a; 875 if (isMetafacadePropertyCachingEnabled()) 876 { 877 this.__requiresSpecializationMapping24aSet = true; 878 } 879 } 880 return requiresSpecializationMapping24a; 881 } 882 883 /** 884 * @see EJB3EntityFacade#isRequiresGeneralizationMapping() 885 * @return boolean 886 */ 887 protected abstract boolean handleIsRequiresGeneralizationMapping(); 888 889 private boolean __requiresGeneralizationMapping25a; 890 private boolean __requiresGeneralizationMapping25aSet = false; 891 892 /** 893 * Returns true if the entity requires generalization mapping. The Inheritance annotation is 894 * required for child entities for all inheritance strategies. 895 * @return (boolean)handleIsRequiresGeneralizationMapping() 896 */ 897 public final boolean isRequiresGeneralizationMapping() 898 { 899 boolean requiresGeneralizationMapping25a = this.__requiresGeneralizationMapping25a; 900 if (!this.__requiresGeneralizationMapping25aSet) 901 { 902 // requiresGeneralizationMapping has no pre constraints 903 requiresGeneralizationMapping25a = handleIsRequiresGeneralizationMapping(); 904 // requiresGeneralizationMapping has no post constraints 905 this.__requiresGeneralizationMapping25a = requiresGeneralizationMapping25a; 906 if (isMetafacadePropertyCachingEnabled()) 907 { 908 this.__requiresGeneralizationMapping25aSet = true; 909 } 910 } 911 return requiresGeneralizationMapping25a; 912 } 913 914 /** 915 * @see EJB3EntityFacade#getEntityImplementationName() 916 * @return String 917 */ 918 protected abstract String handleGetEntityImplementationName(); 919 920 private String __entityImplementationName26a; 921 private boolean __entityImplementationName26aSet = false; 922 923 /** 924 * The name of the implementation class. 925 * @return (String)handleGetEntityImplementationName() 926 */ 927 public final String getEntityImplementationName() 928 { 929 String entityImplementationName26a = this.__entityImplementationName26a; 930 if (!this.__entityImplementationName26aSet) 931 { 932 // entityImplementationName has no pre constraints 933 entityImplementationName26a = handleGetEntityImplementationName(); 934 // entityImplementationName has no post constraints 935 this.__entityImplementationName26a = entityImplementationName26a; 936 if (isMetafacadePropertyCachingEnabled()) 937 { 938 this.__entityImplementationName26aSet = true; 939 } 940 } 941 return entityImplementationName26a; 942 } 943 944 /** 945 * @see EJB3EntityFacade#getFullyQualifiedEntityImplementationName() 946 * @return String 947 */ 948 protected abstract String handleGetFullyQualifiedEntityImplementationName(); 949 950 private String __fullyQualifiedEntityImplementationName27a; 951 private boolean __fullyQualifiedEntityImplementationName27aSet = false; 952 953 /** 954 * Fully qualified name of the Entity implementation class. 955 * @return (String)handleGetFullyQualifiedEntityImplementationName() 956 */ 957 public final String getFullyQualifiedEntityImplementationName() 958 { 959 String fullyQualifiedEntityImplementationName27a = this.__fullyQualifiedEntityImplementationName27a; 960 if (!this.__fullyQualifiedEntityImplementationName27aSet) 961 { 962 // fullyQualifiedEntityImplementationName has no pre constraints 963 fullyQualifiedEntityImplementationName27a = handleGetFullyQualifiedEntityImplementationName(); 964 // fullyQualifiedEntityImplementationName has no post constraints 965 this.__fullyQualifiedEntityImplementationName27a = fullyQualifiedEntityImplementationName27a; 966 if (isMetafacadePropertyCachingEnabled()) 967 { 968 this.__fullyQualifiedEntityImplementationName27aSet = true; 969 } 970 } 971 return fullyQualifiedEntityImplementationName27a; 972 } 973 974 /** 975 * @see EJB3EntityFacade#getEntityName() 976 * @return String 977 */ 978 protected abstract String handleGetEntityName(); 979 980 private String __entityName28a; 981 private boolean __entityName28aSet = false; 982 983 /** 984 * The named used for the EJB3 entity. 985 * @return (String)handleGetEntityName() 986 */ 987 public final String getEntityName() 988 { 989 String entityName28a = this.__entityName28a; 990 if (!this.__entityName28aSet) 991 { 992 // entityName has no pre constraints 993 entityName28a = handleGetEntityName(); 994 // entityName has no post constraints 995 this.__entityName28a = entityName28a; 996 if (isMetafacadePropertyCachingEnabled()) 997 { 998 this.__entityName28aSet = true; 999 } 1000 } 1001 return entityName28a; 1002 } 1003 1004 /** 1005 * @see EJB3EntityFacade#getFullyQualifiedEntityName() 1006 * @return String 1007 */ 1008 protected abstract String handleGetFullyQualifiedEntityName(); 1009 1010 private String __fullyQualifiedEntityName29a; 1011 private boolean __fullyQualifiedEntityName29aSet = false; 1012 1013 /** 1014 * The fully qualified name of the EJB3 entity. 1015 * @return (String)handleGetFullyQualifiedEntityName() 1016 */ 1017 public final String getFullyQualifiedEntityName() 1018 { 1019 String fullyQualifiedEntityName29a = this.__fullyQualifiedEntityName29a; 1020 if (!this.__fullyQualifiedEntityName29aSet) 1021 { 1022 // fullyQualifiedEntityName has no pre constraints 1023 fullyQualifiedEntityName29a = handleGetFullyQualifiedEntityName(); 1024 // fullyQualifiedEntityName has no post constraints 1025 this.__fullyQualifiedEntityName29a = fullyQualifiedEntityName29a; 1026 if (isMetafacadePropertyCachingEnabled()) 1027 { 1028 this.__fullyQualifiedEntityName29aSet = true; 1029 } 1030 } 1031 return fullyQualifiedEntityName29a; 1032 } 1033 1034 /** 1035 * @see EJB3EntityFacade#isEmbeddableSuperclass() 1036 * @return boolean 1037 */ 1038 protected abstract boolean handleIsEmbeddableSuperclass(); 1039 1040 private boolean __embeddableSuperclass30a; 1041 private boolean __embeddableSuperclass30aSet = false; 1042 1043 /** 1044 * Determines if this entity is an mapped/embeddable super class. 1045 * @return (boolean)handleIsEmbeddableSuperclass() 1046 */ 1047 public final boolean isEmbeddableSuperclass() 1048 { 1049 boolean embeddableSuperclass30a = this.__embeddableSuperclass30a; 1050 if (!this.__embeddableSuperclass30aSet) 1051 { 1052 // embeddableSuperclass has no pre constraints 1053 embeddableSuperclass30a = handleIsEmbeddableSuperclass(); 1054 // embeddableSuperclass has no post constraints 1055 this.__embeddableSuperclass30a = embeddableSuperclass30a; 1056 if (isMetafacadePropertyCachingEnabled()) 1057 { 1058 this.__embeddableSuperclass30aSet = true; 1059 } 1060 } 1061 return embeddableSuperclass30a; 1062 } 1063 1064 /** 1065 * @see EJB3EntityFacade#isGenericFinders() 1066 * @return boolean 1067 */ 1068 protected abstract boolean handleIsGenericFinders(); 1069 1070 private boolean __genericFinders31a; 1071 private boolean __genericFinders31aSet = false; 1072 1073 /** 1074 * Returns true if the generic finder property is true. This will create generic finder static 1075 * methods in the entity POJO like findByPrimaryKey and findAll. 1076 * @return (boolean)handleIsGenericFinders() 1077 */ 1078 public final boolean isGenericFinders() 1079 { 1080 boolean genericFinders31a = this.__genericFinders31a; 1081 if (!this.__genericFinders31aSet) 1082 { 1083 // genericFinders has no pre constraints 1084 genericFinders31a = handleIsGenericFinders(); 1085 // genericFinders has no post constraints 1086 this.__genericFinders31a = genericFinders31a; 1087 if (isMetafacadePropertyCachingEnabled()) 1088 { 1089 this.__genericFinders31aSet = true; 1090 } 1091 } 1092 return genericFinders31a; 1093 } 1094 1095 /** 1096 * @see EJB3EntityFacade#isCompositePrimaryKeyPresent() 1097 * @return boolean 1098 */ 1099 protected abstract boolean handleIsCompositePrimaryKeyPresent(); 1100 1101 private boolean __compositePrimaryKeyPresent32a; 1102 private boolean __compositePrimaryKeyPresent32aSet = false; 1103 1104 /** 1105 * Returns true if a composite primary key exists for this entity bean. A composite primary key 1106 * consists of 2 or more entity identifiers. 1107 * @return (boolean)handleIsCompositePrimaryKeyPresent() 1108 */ 1109 public final boolean isCompositePrimaryKeyPresent() 1110 { 1111 boolean compositePrimaryKeyPresent32a = this.__compositePrimaryKeyPresent32a; 1112 if (!this.__compositePrimaryKeyPresent32aSet) 1113 { 1114 // compositePrimaryKeyPresent has no pre constraints 1115 compositePrimaryKeyPresent32a = handleIsCompositePrimaryKeyPresent(); 1116 // compositePrimaryKeyPresent has no post constraints 1117 this.__compositePrimaryKeyPresent32a = compositePrimaryKeyPresent32a; 1118 if (isMetafacadePropertyCachingEnabled()) 1119 { 1120 this.__compositePrimaryKeyPresent32aSet = true; 1121 } 1122 } 1123 return compositePrimaryKeyPresent32a; 1124 } 1125 1126 /** 1127 * @see EJB3EntityFacade#getFullyQualifiedEntityCompositePrimaryKeyName() 1128 * @return String 1129 */ 1130 protected abstract String handleGetFullyQualifiedEntityCompositePrimaryKeyName(); 1131 1132 private String __fullyQualifiedEntityCompositePrimaryKeyName33a; 1133 private boolean __fullyQualifiedEntityCompositePrimaryKeyName33aSet = false; 1134 1135 /** 1136 * The fully qualified name of the composite primary key class of this entity. 1137 * @return (String)handleGetFullyQualifiedEntityCompositePrimaryKeyName() 1138 */ 1139 public final String getFullyQualifiedEntityCompositePrimaryKeyName() 1140 { 1141 String fullyQualifiedEntityCompositePrimaryKeyName33a = this.__fullyQualifiedEntityCompositePrimaryKeyName33a; 1142 if (!this.__fullyQualifiedEntityCompositePrimaryKeyName33aSet) 1143 { 1144 // fullyQualifiedEntityCompositePrimaryKeyName has no pre constraints 1145 fullyQualifiedEntityCompositePrimaryKeyName33a = handleGetFullyQualifiedEntityCompositePrimaryKeyName(); 1146 // fullyQualifiedEntityCompositePrimaryKeyName has no post constraints 1147 this.__fullyQualifiedEntityCompositePrimaryKeyName33a = fullyQualifiedEntityCompositePrimaryKeyName33a; 1148 if (isMetafacadePropertyCachingEnabled()) 1149 { 1150 this.__fullyQualifiedEntityCompositePrimaryKeyName33aSet = true; 1151 } 1152 } 1153 return fullyQualifiedEntityCompositePrimaryKeyName33a; 1154 } 1155 1156 /** 1157 * @see EJB3EntityFacade#getEntityCompositePrimaryKeyName() 1158 * @return String 1159 */ 1160 protected abstract String handleGetEntityCompositePrimaryKeyName(); 1161 1162 private String __entityCompositePrimaryKeyName34a; 1163 private boolean __entityCompositePrimaryKeyName34aSet = false; 1164 1165 /** 1166 * Entity composite primary key class name for this entity. 1167 * @return (String)handleGetEntityCompositePrimaryKeyName() 1168 */ 1169 public final String getEntityCompositePrimaryKeyName() 1170 { 1171 String entityCompositePrimaryKeyName34a = this.__entityCompositePrimaryKeyName34a; 1172 if (!this.__entityCompositePrimaryKeyName34aSet) 1173 { 1174 // entityCompositePrimaryKeyName has no pre constraints 1175 entityCompositePrimaryKeyName34a = handleGetEntityCompositePrimaryKeyName(); 1176 // entityCompositePrimaryKeyName has no post constraints 1177 this.__entityCompositePrimaryKeyName34a = entityCompositePrimaryKeyName34a; 1178 if (isMetafacadePropertyCachingEnabled()) 1179 { 1180 this.__entityCompositePrimaryKeyName34aSet = true; 1181 } 1182 } 1183 return entityCompositePrimaryKeyName34a; 1184 } 1185 1186 /** 1187 * @see EJB3EntityFacade#isEmbeddableSuperclassGeneralizationExists() 1188 * @return boolean 1189 */ 1190 protected abstract boolean handleIsEmbeddableSuperclassGeneralizationExists(); 1191 1192 private boolean __embeddableSuperclassGeneralizationExists35a; 1193 private boolean __embeddableSuperclassGeneralizationExists35aSet = false; 1194 1195 /** 1196 * Returns true if this entity is a subclass of an mapped/embeddable super class. You cannot 1197 * have more than 1 level of inheritance using mapped/embeddable super class. To achieve 1198 * multiple levels, use one of the inheritance mapping strategies like single table, table per 1199 * class or joined table strategies. 1200 * @return (boolean)handleIsEmbeddableSuperclassGeneralizationExists() 1201 */ 1202 public final boolean isEmbeddableSuperclassGeneralizationExists() 1203 { 1204 boolean embeddableSuperclassGeneralizationExists35a = this.__embeddableSuperclassGeneralizationExists35a; 1205 if (!this.__embeddableSuperclassGeneralizationExists35aSet) 1206 { 1207 // embeddableSuperclassGeneralizationExists has no pre constraints 1208 embeddableSuperclassGeneralizationExists35a = handleIsEmbeddableSuperclassGeneralizationExists(); 1209 // embeddableSuperclassGeneralizationExists has no post constraints 1210 this.__embeddableSuperclassGeneralizationExists35a = embeddableSuperclassGeneralizationExists35a; 1211 if (isMetafacadePropertyCachingEnabled()) 1212 { 1213 this.__embeddableSuperclassGeneralizationExists35aSet = true; 1214 } 1215 } 1216 return embeddableSuperclassGeneralizationExists35a; 1217 } 1218 1219 /** 1220 * @see EJB3EntityFacade#isListenerEnabled() 1221 * @return boolean 1222 */ 1223 protected abstract boolean handleIsListenerEnabled(); 1224 1225 private boolean __listenerEnabled36a; 1226 private boolean __listenerEnabled36aSet = false; 1227 1228 /** 1229 * Returns true if this entity bean has the stereotype Listener. False otherwise. 1230 * @return (boolean)handleIsListenerEnabled() 1231 */ 1232 public final boolean isListenerEnabled() 1233 { 1234 boolean listenerEnabled36a = this.__listenerEnabled36a; 1235 if (!this.__listenerEnabled36aSet) 1236 { 1237 // listenerEnabled has no pre constraints 1238 listenerEnabled36a = handleIsListenerEnabled(); 1239 // listenerEnabled has no post constraints 1240 this.__listenerEnabled36a = listenerEnabled36a; 1241 if (isMetafacadePropertyCachingEnabled()) 1242 { 1243 this.__listenerEnabled36aSet = true; 1244 } 1245 } 1246 return listenerEnabled36a; 1247 } 1248 1249 /** 1250 * @see EJB3EntityFacade#isFinderFindAllExists() 1251 * @return boolean 1252 */ 1253 protected abstract boolean handleIsFinderFindAllExists(); 1254 1255 private boolean __finderFindAllExists37a; 1256 private boolean __finderFindAllExists37aSet = false; 1257 1258 /** 1259 * Returns true if the findAll finder method (specified as a query method) has been modelled. 1260 * @return (boolean)handleIsFinderFindAllExists() 1261 */ 1262 public final boolean isFinderFindAllExists() 1263 { 1264 boolean finderFindAllExists37a = this.__finderFindAllExists37a; 1265 if (!this.__finderFindAllExists37aSet) 1266 { 1267 // finderFindAllExists has no pre constraints 1268 finderFindAllExists37a = handleIsFinderFindAllExists(); 1269 // finderFindAllExists has no post constraints 1270 this.__finderFindAllExists37a = finderFindAllExists37a; 1271 if (isMetafacadePropertyCachingEnabled()) 1272 { 1273 this.__finderFindAllExists37aSet = true; 1274 } 1275 } 1276 return finderFindAllExists37a; 1277 } 1278 1279 /** 1280 * @see EJB3EntityFacade#isFinderFindByPrimaryKeyExists() 1281 * @return boolean 1282 */ 1283 protected abstract boolean handleIsFinderFindByPrimaryKeyExists(); 1284 1285 private boolean __finderFindByPrimaryKeyExists38a; 1286 private boolean __finderFindByPrimaryKeyExists38aSet = false; 1287 1288 /** 1289 * Returns true if the finder findByPrimaryKey has been modelled. 1290 * @return (boolean)handleIsFinderFindByPrimaryKeyExists() 1291 */ 1292 public final boolean isFinderFindByPrimaryKeyExists() 1293 { 1294 boolean finderFindByPrimaryKeyExists38a = this.__finderFindByPrimaryKeyExists38a; 1295 if (!this.__finderFindByPrimaryKeyExists38aSet) 1296 { 1297 // finderFindByPrimaryKeyExists has no pre constraints 1298 finderFindByPrimaryKeyExists38a = handleIsFinderFindByPrimaryKeyExists(); 1299 // finderFindByPrimaryKeyExists has no post constraints 1300 this.__finderFindByPrimaryKeyExists38a = finderFindByPrimaryKeyExists38a; 1301 if (isMetafacadePropertyCachingEnabled()) 1302 { 1303 this.__finderFindByPrimaryKeyExists38aSet = true; 1304 } 1305 } 1306 return finderFindByPrimaryKeyExists38a; 1307 } 1308 1309 /** 1310 * @see EJB3EntityFacade#isManageable() 1311 * @return boolean 1312 */ 1313 protected abstract boolean handleIsManageable(); 1314 1315 private boolean __manageable39a; 1316 private boolean __manageable39aSet = false; 1317 1318 /** 1319 * Returns true if this entity is assigned the Manageable stereotype. False otherwise. 1320 * @return (boolean)handleIsManageable() 1321 */ 1322 public final boolean isManageable() 1323 { 1324 boolean manageable39a = this.__manageable39a; 1325 if (!this.__manageable39aSet) 1326 { 1327 // manageable has no pre constraints 1328 manageable39a = handleIsManageable(); 1329 // manageable has no post constraints 1330 this.__manageable39a = manageable39a; 1331 if (isMetafacadePropertyCachingEnabled()) 1332 { 1333 this.__manageable39aSet = true; 1334 } 1335 } 1336 return manageable39a; 1337 } 1338 1339 /** 1340 * @see EJB3EntityFacade#getCacheType() 1341 * @return String 1342 */ 1343 protected abstract String handleGetCacheType(); 1344 1345 private String __cacheType40a; 1346 private boolean __cacheType40aSet = false; 1347 1348 /** 1349 * Provides the cache policy for the entity. 1350 * Posible values are NONE, READ_WRITE, NONSTRICT_READ_WRITE, READ_ONLY, TRANSACTIONAL. 1351 * @return (String)handleGetCacheType() 1352 */ 1353 public final String getCacheType() 1354 { 1355 String cacheType40a = this.__cacheType40a; 1356 if (!this.__cacheType40aSet) 1357 { 1358 // cacheType has no pre constraints 1359 cacheType40a = handleGetCacheType(); 1360 // cacheType has no post constraints 1361 this.__cacheType40a = cacheType40a; 1362 if (isMetafacadePropertyCachingEnabled()) 1363 { 1364 this.__cacheType40aSet = true; 1365 } 1366 } 1367 return cacheType40a; 1368 } 1369 1370 /** 1371 * @see EJB3EntityFacade#isCacheEnabled() 1372 * @return boolean 1373 */ 1374 protected abstract boolean handleIsCacheEnabled(); 1375 1376 private boolean __cacheEnabled41a; 1377 private boolean __cacheEnabled41aSet = false; 1378 1379 /** 1380 * Returns true if caching has been enabled via namespace property hibernateEnableCache. 1381 * @return (boolean)handleIsCacheEnabled() 1382 */ 1383 public final boolean isCacheEnabled() 1384 { 1385 boolean cacheEnabled41a = this.__cacheEnabled41a; 1386 if (!this.__cacheEnabled41aSet) 1387 { 1388 // cacheEnabled has no pre constraints 1389 cacheEnabled41a = handleIsCacheEnabled(); 1390 // cacheEnabled has no post constraints 1391 this.__cacheEnabled41a = cacheEnabled41a; 1392 if (isMetafacadePropertyCachingEnabled()) 1393 { 1394 this.__cacheEnabled41aSet = true; 1395 } 1396 } 1397 return cacheEnabled41a; 1398 } 1399 1400 /** 1401 * @see EJB3EntityFacade#isUseDefaultCacheRegion() 1402 * @return boolean 1403 */ 1404 protected abstract boolean handleIsUseDefaultCacheRegion(); 1405 1406 private boolean __useDefaultCacheRegion42a; 1407 private boolean __useDefaultCacheRegion42aSet = false; 1408 1409 /** 1410 * Return true if a unique cache region is NOT required for entities and queries. This means we 1411 * use the default cache region specified by the container. Specified via the 1412 * useDefaultCacheRegion namepsace property. 1413 * @return (boolean)handleIsUseDefaultCacheRegion() 1414 */ 1415 public final boolean isUseDefaultCacheRegion() 1416 { 1417 boolean useDefaultCacheRegion42a = this.__useDefaultCacheRegion42a; 1418 if (!this.__useDefaultCacheRegion42aSet) 1419 { 1420 // useDefaultCacheRegion has no pre constraints 1421 useDefaultCacheRegion42a = handleIsUseDefaultCacheRegion(); 1422 // useDefaultCacheRegion has no post constraints 1423 this.__useDefaultCacheRegion42a = useDefaultCacheRegion42a; 1424 if (isMetafacadePropertyCachingEnabled()) 1425 { 1426 this.__useDefaultCacheRegion42aSet = true; 1427 } 1428 } 1429 return useDefaultCacheRegion42a; 1430 } 1431 1432 /** 1433 * @see EJB3EntityFacade#getDaoName() 1434 * @return String 1435 */ 1436 protected abstract String handleGetDaoName(); 1437 1438 private String __daoName43a; 1439 private boolean __daoName43aSet = false; 1440 1441 /** 1442 * The name of the DAO for the specified entity. 1443 * @return (String)handleGetDaoName() 1444 */ 1445 public final String getDaoName() 1446 { 1447 String daoName43a = this.__daoName43a; 1448 if (!this.__daoName43aSet) 1449 { 1450 // daoName has no pre constraints 1451 daoName43a = handleGetDaoName(); 1452 // daoName has no post constraints 1453 this.__daoName43a = daoName43a; 1454 if (isMetafacadePropertyCachingEnabled()) 1455 { 1456 this.__daoName43aSet = true; 1457 } 1458 } 1459 return daoName43a; 1460 } 1461 1462 /** 1463 * @see EJB3EntityFacade#getFullyQualifiedDaoName() 1464 * @return String 1465 */ 1466 protected abstract String handleGetFullyQualifiedDaoName(); 1467 1468 private String __fullyQualifiedDaoName44a; 1469 private boolean __fullyQualifiedDaoName44aSet = false; 1470 1471 /** 1472 * The fully qualified name of the DAO. 1473 * @return (String)handleGetFullyQualifiedDaoName() 1474 */ 1475 public final String getFullyQualifiedDaoName() 1476 { 1477 String fullyQualifiedDaoName44a = this.__fullyQualifiedDaoName44a; 1478 if (!this.__fullyQualifiedDaoName44aSet) 1479 { 1480 // fullyQualifiedDaoName has no pre constraints 1481 fullyQualifiedDaoName44a = handleGetFullyQualifiedDaoName(); 1482 // fullyQualifiedDaoName has no post constraints 1483 this.__fullyQualifiedDaoName44a = fullyQualifiedDaoName44a; 1484 if (isMetafacadePropertyCachingEnabled()) 1485 { 1486 this.__fullyQualifiedDaoName44aSet = true; 1487 } 1488 } 1489 return fullyQualifiedDaoName44a; 1490 } 1491 1492 /** 1493 * @see EJB3EntityFacade#getDaoImplementationName() 1494 * @return String 1495 */ 1496 protected abstract String handleGetDaoImplementationName(); 1497 1498 private String __daoImplementationName45a; 1499 private boolean __daoImplementationName45aSet = false; 1500 1501 /** 1502 * The DAO implementation class name. 1503 * @return (String)handleGetDaoImplementationName() 1504 */ 1505 public final String getDaoImplementationName() 1506 { 1507 String daoImplementationName45a = this.__daoImplementationName45a; 1508 if (!this.__daoImplementationName45aSet) 1509 { 1510 // daoImplementationName has no pre constraints 1511 daoImplementationName45a = handleGetDaoImplementationName(); 1512 // daoImplementationName has no post constraints 1513 this.__daoImplementationName45a = daoImplementationName45a; 1514 if (isMetafacadePropertyCachingEnabled()) 1515 { 1516 this.__daoImplementationName45aSet = true; 1517 } 1518 } 1519 return daoImplementationName45a; 1520 } 1521 1522 /** 1523 * @see EJB3EntityFacade#getFullyQualifiedDaoImplementationName() 1524 * @return String 1525 */ 1526 protected abstract String handleGetFullyQualifiedDaoImplementationName(); 1527 1528 private String __fullyQualifiedDaoImplementationName46a; 1529 private boolean __fullyQualifiedDaoImplementationName46aSet = false; 1530 1531 /** 1532 * The fully qualified name of the DAO implemetation. 1533 * @return (String)handleGetFullyQualifiedDaoImplementationName() 1534 */ 1535 public final String getFullyQualifiedDaoImplementationName() 1536 { 1537 String fullyQualifiedDaoImplementationName46a = this.__fullyQualifiedDaoImplementationName46a; 1538 if (!this.__fullyQualifiedDaoImplementationName46aSet) 1539 { 1540 // fullyQualifiedDaoImplementationName has no pre constraints 1541 fullyQualifiedDaoImplementationName46a = handleGetFullyQualifiedDaoImplementationName(); 1542 // fullyQualifiedDaoImplementationName has no post constraints 1543 this.__fullyQualifiedDaoImplementationName46a = fullyQualifiedDaoImplementationName46a; 1544 if (isMetafacadePropertyCachingEnabled()) 1545 { 1546 this.__fullyQualifiedDaoImplementationName46aSet = true; 1547 } 1548 } 1549 return fullyQualifiedDaoImplementationName46a; 1550 } 1551 1552 /** 1553 * @see EJB3EntityFacade#getDaoBaseName() 1554 * @return String 1555 */ 1556 protected abstract String handleGetDaoBaseName(); 1557 1558 private String __daoBaseName47a; 1559 private boolean __daoBaseName47aSet = false; 1560 1561 /** 1562 * The DAO base class name. This is the abstract DAO that containsCRUD operations as well as 1563 * any generated finders defined on an entity. 1564 * @return (String)handleGetDaoBaseName() 1565 */ 1566 public final String getDaoBaseName() 1567 { 1568 String daoBaseName47a = this.__daoBaseName47a; 1569 if (!this.__daoBaseName47aSet) 1570 { 1571 // daoBaseName has no pre constraints 1572 daoBaseName47a = handleGetDaoBaseName(); 1573 // daoBaseName has no post constraints 1574 this.__daoBaseName47a = daoBaseName47a; 1575 if (isMetafacadePropertyCachingEnabled()) 1576 { 1577 this.__daoBaseName47aSet = true; 1578 } 1579 } 1580 return daoBaseName47a; 1581 } 1582 1583 /** 1584 * @see EJB3EntityFacade#getFullyQualifiedDaoBaseName() 1585 * @return String 1586 */ 1587 protected abstract String handleGetFullyQualifiedDaoBaseName(); 1588 1589 private String __fullyQualifiedDaoBaseName48a; 1590 private boolean __fullyQualifiedDaoBaseName48aSet = false; 1591 1592 /** 1593 * The fully qualified name of the base DAO. 1594 * @return (String)handleGetFullyQualifiedDaoBaseName() 1595 */ 1596 public final String getFullyQualifiedDaoBaseName() 1597 { 1598 String fullyQualifiedDaoBaseName48a = this.__fullyQualifiedDaoBaseName48a; 1599 if (!this.__fullyQualifiedDaoBaseName48aSet) 1600 { 1601 // fullyQualifiedDaoBaseName has no pre constraints 1602 fullyQualifiedDaoBaseName48a = handleGetFullyQualifiedDaoBaseName(); 1603 // fullyQualifiedDaoBaseName has no post constraints 1604 this.__fullyQualifiedDaoBaseName48a = fullyQualifiedDaoBaseName48a; 1605 if (isMetafacadePropertyCachingEnabled()) 1606 { 1607 this.__fullyQualifiedDaoBaseName48aSet = true; 1608 } 1609 } 1610 return fullyQualifiedDaoBaseName48a; 1611 } 1612 1613 /** 1614 * @see EJB3EntityFacade#isDaoBusinessOperationsPresent() 1615 * @return boolean 1616 */ 1617 protected abstract boolean handleIsDaoBusinessOperationsPresent(); 1618 1619 private boolean __daoBusinessOperationsPresent49a; 1620 private boolean __daoBusinessOperationsPresent49aSet = false; 1621 1622 /** 1623 * Indicates whether or not any business DAO operations are present. 1624 * @return (boolean)handleIsDaoBusinessOperationsPresent() 1625 */ 1626 public final boolean isDaoBusinessOperationsPresent() 1627 { 1628 boolean daoBusinessOperationsPresent49a = this.__daoBusinessOperationsPresent49a; 1629 if (!this.__daoBusinessOperationsPresent49aSet) 1630 { 1631 // daoBusinessOperationsPresent has no pre constraints 1632 daoBusinessOperationsPresent49a = handleIsDaoBusinessOperationsPresent(); 1633 // daoBusinessOperationsPresent has no post constraints 1634 this.__daoBusinessOperationsPresent49a = daoBusinessOperationsPresent49a; 1635 if (isMetafacadePropertyCachingEnabled()) 1636 { 1637 this.__daoBusinessOperationsPresent49aSet = true; 1638 } 1639 } 1640 return daoBusinessOperationsPresent49a; 1641 } 1642 1643 /** 1644 * @see EJB3EntityFacade#isDaoImplementationRequired() 1645 * @return boolean 1646 */ 1647 protected abstract boolean handleIsDaoImplementationRequired(); 1648 1649 private boolean __daoImplementationRequired50a; 1650 private boolean __daoImplementationRequired50aSet = false; 1651 1652 /** 1653 * True if an implementation is required for the dao class, this is the case when there are 1654 * business operations or value-object transformation. 1655 * @return (boolean)handleIsDaoImplementationRequired() 1656 */ 1657 public final boolean isDaoImplementationRequired() 1658 { 1659 boolean daoImplementationRequired50a = this.__daoImplementationRequired50a; 1660 if (!this.__daoImplementationRequired50aSet) 1661 { 1662 // daoImplementationRequired has no pre constraints 1663 daoImplementationRequired50a = handleIsDaoImplementationRequired(); 1664 // daoImplementationRequired has no post constraints 1665 this.__daoImplementationRequired50a = daoImplementationRequired50a; 1666 if (isMetafacadePropertyCachingEnabled()) 1667 { 1668 this.__daoImplementationRequired50aSet = true; 1669 } 1670 } 1671 return daoImplementationRequired50a; 1672 } 1673 1674 /** 1675 * @see EJB3EntityFacade#getDaoNoTransformationConstantName() 1676 * @return String 1677 */ 1678 protected abstract String handleGetDaoNoTransformationConstantName(); 1679 1680 private String __daoNoTransformationConstantName51a; 1681 private boolean __daoNoTransformationConstantName51aSet = false; 1682 1683 /** 1684 * The constant name denoting no transformation is to be applied. 1685 * @return (String)handleGetDaoNoTransformationConstantName() 1686 */ 1687 public final String getDaoNoTransformationConstantName() 1688 { 1689 String daoNoTransformationConstantName51a = this.__daoNoTransformationConstantName51a; 1690 if (!this.__daoNoTransformationConstantName51aSet) 1691 { 1692 // daoNoTransformationConstantName has no pre constraints 1693 daoNoTransformationConstantName51a = handleGetDaoNoTransformationConstantName(); 1694 // daoNoTransformationConstantName has no post constraints 1695 this.__daoNoTransformationConstantName51a = daoNoTransformationConstantName51a; 1696 if (isMetafacadePropertyCachingEnabled()) 1697 { 1698 this.__daoNoTransformationConstantName51aSet = true; 1699 } 1700 } 1701 return daoNoTransformationConstantName51a; 1702 } 1703 1704 /** 1705 * @see EJB3EntityFacade#getDefaultPersistenceContextUnitName() 1706 * @return String 1707 */ 1708 protected abstract String handleGetDefaultPersistenceContextUnitName(); 1709 1710 private String __defaultPersistenceContextUnitName52a; 1711 private boolean __defaultPersistenceContextUnitName52aSet = false; 1712 1713 /** 1714 * Returns the default persistence context unit name for the injected EntityManger for the 1715 * DAO/Manageable service beans. It is derived from the persistenceContextUnitName namespace 1716 * property. 1717 * @return (String)handleGetDefaultPersistenceContextUnitName() 1718 */ 1719 public final String getDefaultPersistenceContextUnitName() 1720 { 1721 String defaultPersistenceContextUnitName52a = this.__defaultPersistenceContextUnitName52a; 1722 if (!this.__defaultPersistenceContextUnitName52aSet) 1723 { 1724 // defaultPersistenceContextUnitName has no pre constraints 1725 defaultPersistenceContextUnitName52a = handleGetDefaultPersistenceContextUnitName(); 1726 // defaultPersistenceContextUnitName has no post constraints 1727 this.__defaultPersistenceContextUnitName52a = defaultPersistenceContextUnitName52a; 1728 if (isMetafacadePropertyCachingEnabled()) 1729 { 1730 this.__defaultPersistenceContextUnitName52aSet = true; 1731 } 1732 } 1733 return defaultPersistenceContextUnitName52a; 1734 } 1735 1736 /** 1737 * @see EJB3EntityFacade#getDaoDefaultExceptionName() 1738 * @return String 1739 */ 1740 protected abstract String handleGetDaoDefaultExceptionName(); 1741 1742 private String __daoDefaultExceptionName53a; 1743 private boolean __daoDefaultExceptionName53aSet = false; 1744 1745 /** 1746 * Returns the default DAO exception name. 1747 * @return (String)handleGetDaoDefaultExceptionName() 1748 */ 1749 public final String getDaoDefaultExceptionName() 1750 { 1751 String daoDefaultExceptionName53a = this.__daoDefaultExceptionName53a; 1752 if (!this.__daoDefaultExceptionName53aSet) 1753 { 1754 // daoDefaultExceptionName has no pre constraints 1755 daoDefaultExceptionName53a = handleGetDaoDefaultExceptionName(); 1756 // daoDefaultExceptionName has no post constraints 1757 this.__daoDefaultExceptionName53a = daoDefaultExceptionName53a; 1758 if (isMetafacadePropertyCachingEnabled()) 1759 { 1760 this.__daoDefaultExceptionName53aSet = true; 1761 } 1762 } 1763 return daoDefaultExceptionName53a; 1764 } 1765 1766 /** 1767 * @see EJB3EntityFacade#getFullyQualifiedDaoDefaultExceptionName() 1768 * @return String 1769 */ 1770 protected abstract String handleGetFullyQualifiedDaoDefaultExceptionName(); 1771 1772 private String __fullyQualifiedDaoDefaultExceptionName54a; 1773 private boolean __fullyQualifiedDaoDefaultExceptionName54aSet = false; 1774 1775 /** 1776 * Returns the fully qualified default DAO exception name. 1777 * @return (String)handleGetFullyQualifiedDaoDefaultExceptionName() 1778 */ 1779 public final String getFullyQualifiedDaoDefaultExceptionName() 1780 { 1781 String fullyQualifiedDaoDefaultExceptionName54a = this.__fullyQualifiedDaoDefaultExceptionName54a; 1782 if (!this.__fullyQualifiedDaoDefaultExceptionName54aSet) 1783 { 1784 // fullyQualifiedDaoDefaultExceptionName has no pre constraints 1785 fullyQualifiedDaoDefaultExceptionName54a = handleGetFullyQualifiedDaoDefaultExceptionName(); 1786 // fullyQualifiedDaoDefaultExceptionName has no post constraints 1787 this.__fullyQualifiedDaoDefaultExceptionName54a = fullyQualifiedDaoDefaultExceptionName54a; 1788 if (isMetafacadePropertyCachingEnabled()) 1789 { 1790 this.__fullyQualifiedDaoDefaultExceptionName54aSet = true; 1791 } 1792 } 1793 return fullyQualifiedDaoDefaultExceptionName54a; 1794 } 1795 1796 /** 1797 * @see EJB3EntityFacade#isEntityImplementationRequired() 1798 * @return boolean 1799 */ 1800 protected abstract boolean handleIsEntityImplementationRequired(); 1801 1802 private boolean __entityImplementationRequired55a; 1803 private boolean __entityImplementationRequired55aSet = false; 1804 1805 /** 1806 * True if an entity implementation is required for the entity class, this is the case when 1807 * there are business operations. 1808 * @return (boolean)handleIsEntityImplementationRequired() 1809 */ 1810 public final boolean isEntityImplementationRequired() 1811 { 1812 boolean entityImplementationRequired55a = this.__entityImplementationRequired55a; 1813 if (!this.__entityImplementationRequired55aSet) 1814 { 1815 // entityImplementationRequired has no pre constraints 1816 entityImplementationRequired55a = handleIsEntityImplementationRequired(); 1817 // entityImplementationRequired has no post constraints 1818 this.__entityImplementationRequired55a = entityImplementationRequired55a; 1819 if (isMetafacadePropertyCachingEnabled()) 1820 { 1821 this.__entityImplementationRequired55aSet = true; 1822 } 1823 } 1824 return entityImplementationRequired55a; 1825 } 1826 1827 /** 1828 * @see EJB3EntityFacade#isSecurityEnabled() 1829 * @return boolean 1830 */ 1831 protected abstract boolean handleIsSecurityEnabled(); 1832 1833 private boolean __securityEnabled56a; 1834 private boolean __securityEnabled56aSet = false; 1835 1836 /** 1837 * Returns true if the security realm is specified. This will generate the security setting for 1838 * the DAO components. 1839 * @return (boolean)handleIsSecurityEnabled() 1840 */ 1841 public final boolean isSecurityEnabled() 1842 { 1843 boolean securityEnabled56a = this.__securityEnabled56a; 1844 if (!this.__securityEnabled56aSet) 1845 { 1846 // securityEnabled has no pre constraints 1847 securityEnabled56a = handleIsSecurityEnabled(); 1848 // securityEnabled has no post constraints 1849 this.__securityEnabled56a = securityEnabled56a; 1850 if (isMetafacadePropertyCachingEnabled()) 1851 { 1852 this.__securityEnabled56aSet = true; 1853 } 1854 } 1855 return securityEnabled56a; 1856 } 1857 1858 /** 1859 * @see EJB3EntityFacade#getRolesAllowed() 1860 * @return String 1861 */ 1862 protected abstract String handleGetRolesAllowed(); 1863 1864 private String __rolesAllowed57a; 1865 private boolean __rolesAllowed57aSet = false; 1866 1867 /** 1868 * Returns the comma separated list of roles allowd to execute DAO operations. This is defined 1869 * by actor dependencies on the entity. 1870 * @return (String)handleGetRolesAllowed() 1871 */ 1872 public final String getRolesAllowed() 1873 { 1874 String rolesAllowed57a = this.__rolesAllowed57a; 1875 if (!this.__rolesAllowed57aSet) 1876 { 1877 // rolesAllowed has no pre constraints 1878 rolesAllowed57a = handleGetRolesAllowed(); 1879 // rolesAllowed has no post constraints 1880 this.__rolesAllowed57a = rolesAllowed57a; 1881 if (isMetafacadePropertyCachingEnabled()) 1882 { 1883 this.__rolesAllowed57aSet = true; 1884 } 1885 } 1886 return rolesAllowed57a; 1887 } 1888 1889 /** 1890 * @see EJB3EntityFacade#getSecurityRealm() 1891 * @return String 1892 */ 1893 protected abstract String handleGetSecurityRealm(); 1894 1895 private String __securityRealm58a; 1896 private boolean __securityRealm58aSet = false; 1897 1898 /** 1899 * Returns the security domain value. Specified using the securityRealm namespace property or 1900 * overridden in the andromda.ejb.security.realm tagged value. 1901 * @return (String)handleGetSecurityRealm() 1902 */ 1903 public final String getSecurityRealm() 1904 { 1905 String securityRealm58a = this.__securityRealm58a; 1906 if (!this.__securityRealm58aSet) 1907 { 1908 // securityRealm has no pre constraints 1909 securityRealm58a = handleGetSecurityRealm(); 1910 // securityRealm has no post constraints 1911 this.__securityRealm58a = securityRealm58a; 1912 if (isMetafacadePropertyCachingEnabled()) 1913 { 1914 this.__securityRealm58aSet = true; 1915 } 1916 } 1917 return securityRealm58a; 1918 } 1919 1920 /** 1921 * @see EJB3EntityFacade#isUseQueryCache() 1922 * @return boolean 1923 */ 1924 protected abstract boolean handleIsUseQueryCache(); 1925 1926 private boolean __useQueryCache59a; 1927 private boolean __useQueryCache59aSet = false; 1928 1929 /** 1930 * Returns true if the application wide namespace property hibernateUseQueryCache is enabled. 1931 * This is used for generic finder methods i.e. findAll. 1932 * @return (boolean)handleIsUseQueryCache() 1933 */ 1934 public final boolean isUseQueryCache() 1935 { 1936 boolean useQueryCache59a = this.__useQueryCache59a; 1937 if (!this.__useQueryCache59aSet) 1938 { 1939 // useQueryCache has no pre constraints 1940 useQueryCache59a = handleIsUseQueryCache(); 1941 // useQueryCache has no post constraints 1942 this.__useQueryCache59a = useQueryCache59a; 1943 if (isMetafacadePropertyCachingEnabled()) 1944 { 1945 this.__useQueryCache59aSet = true; 1946 } 1947 } 1948 return useQueryCache59a; 1949 } 1950 1951 /** 1952 * @see EJB3EntityFacade#isSeamComponent() 1953 * @return boolean 1954 */ 1955 protected abstract boolean handleIsSeamComponent(); 1956 1957 private boolean __seamComponent60a; 1958 private boolean __seamComponent60aSet = false; 1959 1960 /** 1961 * Returns true if this entity has the <<Seam>> stereotype modelled indicating it is a Seam 1962 * entity component. 1963 * @return (boolean)handleIsSeamComponent() 1964 */ 1965 public final boolean isSeamComponent() 1966 { 1967 boolean seamComponent60a = this.__seamComponent60a; 1968 if (!this.__seamComponent60aSet) 1969 { 1970 // seamComponent has no pre constraints 1971 seamComponent60a = handleIsSeamComponent(); 1972 // seamComponent has no post constraints 1973 this.__seamComponent60a = seamComponent60a; 1974 if (isMetafacadePropertyCachingEnabled()) 1975 { 1976 this.__seamComponent60aSet = true; 1977 } 1978 } 1979 return seamComponent60a; 1980 } 1981 1982 /** 1983 * @see EJB3EntityFacade#getSeamComponentScopeType() 1984 * @return String 1985 */ 1986 protected abstract String handleGetSeamComponentScopeType(); 1987 1988 private String __seamComponentScopeType61a; 1989 private boolean __seamComponentScopeType61aSet = false; 1990 1991 /** 1992 * Returns the seam component scope type if one is specified. 1993 * @return (String)handleGetSeamComponentScopeType() 1994 */ 1995 public final String getSeamComponentScopeType() 1996 { 1997 String seamComponentScopeType61a = this.__seamComponentScopeType61a; 1998 if (!this.__seamComponentScopeType61aSet) 1999 { 2000 // seamComponentScopeType has no pre constraints 2001 seamComponentScopeType61a = handleGetSeamComponentScopeType(); 2002 // seamComponentScopeType has no post constraints 2003 this.__seamComponentScopeType61a = seamComponentScopeType61a; 2004 if (isMetafacadePropertyCachingEnabled()) 2005 { 2006 this.__seamComponentScopeType61aSet = true; 2007 } 2008 } 2009 return seamComponentScopeType61a; 2010 } 2011 2012 /** 2013 * @see EJB3EntityFacade#getSeamComponentName() 2014 * @return String 2015 */ 2016 protected abstract String handleGetSeamComponentName(); 2017 2018 private String __seamComponentName62a; 2019 private boolean __seamComponentName62aSet = false; 2020 2021 /** 2022 * Returns the Seam component name for the class. 2023 * @return (String)handleGetSeamComponentName() 2024 */ 2025 public final String getSeamComponentName() 2026 { 2027 String seamComponentName62a = this.__seamComponentName62a; 2028 if (!this.__seamComponentName62aSet) 2029 { 2030 // seamComponentName has no pre constraints 2031 seamComponentName62a = handleGetSeamComponentName(); 2032 // seamComponentName has no post constraints 2033 this.__seamComponentName62a = seamComponentName62a; 2034 if (isMetafacadePropertyCachingEnabled()) 2035 { 2036 this.__seamComponentName62aSet = true; 2037 } 2038 } 2039 return seamComponentName62a; 2040 } 2041 2042 // ---------------- business methods ---------------------- 2043 2044 /** 2045 * Method to be implemented in descendants 2046 * Gets create methods for the entity. If 'follow'l is set to true, create methods from any 2047 * super types will also be retrieved by following up the inheritance chain. 2048 * @param follow 2049 * @return Collection 2050 */ 2051 protected abstract Collection handleGetCreateMethods(boolean follow); 2052 2053 /** 2054 * Gets create methods for the entity. If 'follow'l is set to true, create methods from any 2055 * super types will also be retrieved by following up the inheritance chain. 2056 * @param follow boolean 2057 * If true, all create methods will be returned from the inheritance hierarchy, false otherwise. 2058 * @return handleGetCreateMethods(follow) 2059 */ 2060 public Collection getCreateMethods(boolean follow) 2061 { 2062 // getCreateMethods has no pre constraints 2063 Collection returnValue = handleGetCreateMethods(follow); 2064 // getCreateMethods has no post constraints 2065 return returnValue; 2066 } 2067 2068 /** 2069 * Method to be implemented in descendants 2070 * Gets select methods for the entity, if all is set to 'true' then ALL select methods will be 2071 * retrieved (including those inherited from any superclasses). 2072 * @param follow 2073 * @return Collection 2074 */ 2075 protected abstract Collection handleGetSelectMethods(boolean follow); 2076 2077 /** 2078 * Gets select methods for the entity, if all is set to 'true' then ALL select methods will be 2079 * retrieved (including those inherited from any superclasses). 2080 * @param follow boolean 2081 * If set to true, then all select methods including those in its superclass will be retrieved. 2082 * @return handleGetSelectMethods(follow) 2083 */ 2084 public Collection getSelectMethods(boolean follow) 2085 { 2086 // getSelectMethods has no pre constraints 2087 Collection returnValue = handleGetSelectMethods(follow); 2088 // getSelectMethods has no post constraints 2089 return returnValue; 2090 } 2091 2092 /** 2093 * Method to be implemented in descendants 2094 * Gets all env-entries for the specified entity EJB. Env-entries are stored as static 2095 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the 2096 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super 2097 * types as well. 2098 * @param follow 2099 * @return Collection 2100 */ 2101 protected abstract Collection handleGetEnvironmentEntries(boolean follow); 2102 2103 /** 2104 * Gets all env-entries for the specified entity EJB. Env-entries are stored as static 2105 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the 2106 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super 2107 * types as well. 2108 * @param follow boolean 2109 * If true, then the inheritance hierarchy will be followed and we'll retrieve all env-entries 2110 * from any super types as well. 2111 * @return handleGetEnvironmentEntries(follow) 2112 */ 2113 public Collection getEnvironmentEntries(boolean follow) 2114 { 2115 // getEnvironmentEntries has no pre constraints 2116 Collection returnValue = handleGetEnvironmentEntries(follow); 2117 // getEnvironmentEntries has no post constraints 2118 return returnValue; 2119 } 2120 2121 /** 2122 * Method to be implemented in descendants 2123 * Gets all constants for this entity. Constants are defined as static read-only attributes 2124 * which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the inheritance 2125 * hierarchy will be followed and we'll retrieve all constants from any super types as well. 2126 * @param follow 2127 * @return Collection 2128 */ 2129 protected abstract Collection handleGetConstants(boolean follow); 2130 2131 /** 2132 * Gets all constants for this entity. Constants are defined as static read-only attributes 2133 * which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the inheritance 2134 * hierarchy will be followed and we'll retrieve all constants from any super types as well. 2135 * @param follow boolean 2136 * If true, then the inheritance hierarchy will be followed and we'll retrieve all constants 2137 * from any super types as well. 2138 * @return handleGetConstants(follow) 2139 */ 2140 public Collection getConstants(boolean follow) 2141 { 2142 // getConstants has no pre constraints 2143 Collection returnValue = handleGetConstants(follow); 2144 // getConstants has no post constraints 2145 return returnValue; 2146 } 2147 2148 /** 2149 * Method to be implemented in descendants 2150 * If the operation op is present 2151 * @param op 2152 * @return boolean 2153 */ 2154 protected abstract boolean handleIsOperationPresent(String op); 2155 2156 /** 2157 * If the operation op is present 2158 * @param op String 2159 * TODO: Model Documentation for 2160 * EJB3EntityFacade.isOperationPresent(op) 2161 * @return handleIsOperationPresent(op) 2162 */ 2163 public boolean isOperationPresent(String op) 2164 { 2165 // isOperationPresent has no pre constraints 2166 boolean returnValue = handleIsOperationPresent(op); 2167 // isOperationPresent has no post constraints 2168 return returnValue; 2169 } 2170 2171 /** 2172 * Method to be implemented in descendants 2173 * If the attribute att is present 2174 * @param att 2175 * @return boolean 2176 */ 2177 protected abstract boolean handleIsAttributePresent(String att); 2178 2179 /** 2180 * If the attribute att is present 2181 * @param att String 2182 * TODO: Model Documentation for 2183 * EJB3EntityFacade.isAttributePresent(att) 2184 * @return handleIsAttributePresent(att) 2185 */ 2186 public boolean isAttributePresent(String att) 2187 { 2188 // isAttributePresent has no pre constraints 2189 boolean returnValue = handleIsAttributePresent(att); 2190 // isAttributePresent has no post constraints 2191 return returnValue; 2192 } 2193 2194 /** 2195 * Method to be implemented in descendants 2196 * If the identifier id is present 2197 * @param id 2198 * @return boolean 2199 */ 2200 protected abstract boolean handleIsIdentifierPresent(String id); 2201 2202 /** 2203 * If the identifier id is present 2204 * @param id String 2205 * TODO: Model Documentation for 2206 * EJB3EntityFacade.isIdentifierPresent(id) 2207 * @return handleIsIdentifierPresent(id) 2208 */ 2209 public boolean isIdentifierPresent(String id) 2210 { 2211 // isIdentifierPresent has no pre constraints 2212 boolean returnValue = handleIsIdentifierPresent(id); 2213 // isIdentifierPresent has no post constraints 2214 return returnValue; 2215 } 2216 2217 /** 2218 * Method to be implemented in descendants 2219 * Gets the SQL Mappings from the SQLMappings URI 2220 * @return String 2221 */ 2222 protected abstract String handleGetSqlType(); 2223 2224 /** 2225 * Gets the SQL Mappings from the SQLMappings URI 2226 * @return handleGetSqlType() 2227 */ 2228 public String getSqlType() 2229 { 2230 // getSqlType has no pre constraints 2231 String returnValue = handleGetSqlType(); 2232 // getSqlType has no post constraints 2233 return returnValue; 2234 } 2235 2236 /** 2237 * Method to be implemented in descendants 2238 * Create a comma separated list of attributes. This method can be used to generate argument 2239 * lists for constructors, method calls etc. It will not return attributes tagged to be 2240 * optimistic lock values. It will consider LOB attributes where the LOB type has been 2241 * overridden using the @androma.persistence.lob.type tagged value. 2242 * @param attributes 2243 * @param includeTypes 2244 * @param includeNames 2245 * @param includeAutoIdentifiers 2246 * @return String 2247 */ 2248 protected abstract String handleGetAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames, boolean includeAutoIdentifiers); 2249 2250 /** 2251 * Create a comma separated list of attributes. This method can be used to generate argument 2252 * lists for constructors, method calls etc. It will not return attributes tagged to be 2253 * optimistic lock values. It will consider LOB attributes where the LOB type has been 2254 * overridden using the @androma.persistence.lob.type tagged value. 2255 * @param attributes Collection 2256 * a collection of {@link Attribute} objects 2257 * @param includeTypes boolean 2258 * if <code>true</code>, the type names of the attributes are included. 2259 * @param includeNames boolean 2260 * if <code>true</code>, the names of the attributes are included 2261 * @param includeAutoIdentifiers boolean 2262 * Whether to include identifier attributes. 2263 * @return handleGetAttributesAsList(attributes, includeTypes, includeNames, includeAutoIdentifiers) 2264 */ 2265 public String getAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames, boolean includeAutoIdentifiers) 2266 { 2267 // getAttributesAsList has no pre constraints 2268 String returnValue = handleGetAttributesAsList(attributes, includeTypes, includeNames, includeAutoIdentifiers); 2269 // getAttributesAsList has no post constraints 2270 return returnValue; 2271 } 2272 2273 /** 2274 * Method to be implemented in descendants 2275 * Retrieves the values object references for this entity. If <code>follow</code> is true, then 2276 * all value object references (including those that were inherited) will be retrieved. 2277 * @param follow 2278 * @return Collection 2279 */ 2280 protected abstract Collection handleGetValueObjectReferences(boolean follow); 2281 2282 /** 2283 * Retrieves the values object references for this entity. If <code>follow</code> is true, then 2284 * all value object references (including those that were inherited) will be retrieved. 2285 * @param follow boolean 2286 * TODO: Model Documentation for 2287 * EJB3EntityFacade.getValueObjectReferences(follow) 2288 * @return handleGetValueObjectReferences(follow) 2289 */ 2290 public Collection getValueObjectReferences(boolean follow) 2291 { 2292 // getValueObjectReferences has no pre constraints 2293 Collection returnValue = handleGetValueObjectReferences(follow); 2294 // getValueObjectReferences has no post constraints 2295 return returnValue; 2296 } 2297 2298 /** 2299 * Method to be implemented in descendants 2300 * Gets all instance attributes of the entity, and optionally retieves the super entities 2301 * instance attributes as well as excludes the entity's identifiers if 'withIdentifiers' is set 2302 * to false. 2303 * @param follow 2304 * @param withIdentifiers 2305 * @return Collection 2306 */ 2307 protected abstract Collection handleGetInstanceAttributes(boolean follow, boolean withIdentifiers); 2308 2309 /** 2310 * Gets all instance attributes of the entity, and optionally retieves the super entities 2311 * instance attributes as well as excludes the entity's identifiers if 'withIdentifiers' is set 2312 * to false. 2313 * @param follow boolean 2314 * Whether or not to follow the inheritance hierarchy when retrieving the attributes. 2315 * @param withIdentifiers boolean 2316 * Whether or not to include identifiers in the returned attributes. 2317 * @return handleGetInstanceAttributes(follow, withIdentifiers) 2318 */ 2319 public Collection getInstanceAttributes(boolean follow, boolean withIdentifiers) 2320 { 2321 // getInstanceAttributes has no pre constraints 2322 Collection returnValue = handleGetInstanceAttributes(follow, withIdentifiers); 2323 // getInstanceAttributes has no post constraints 2324 return returnValue; 2325 } 2326 2327 /** 2328 * Method to be implemented in descendants 2329 * Gets a comma separated list of instance attribute names. If 'follow' is true, will travel up 2330 * the inheritance hierarchy to include instance attributes in parent entities as well. If 2331 * 'withIdentifiers' is true, will include identifiers. 2332 * @param follow 2333 * @param withIdentifiers 2334 * @return String 2335 */ 2336 protected abstract String handleGetInstanceAttributeNameList(boolean follow, boolean withIdentifiers); 2337 2338 /** 2339 * Gets a comma separated list of instance attribute names. If 'follow' is true, will travel up 2340 * the inheritance hierarchy to include instance attributes in parent entities as well. If 2341 * 'withIdentifiers' is true, will include identifiers. 2342 * @param follow boolean 2343 * Whether or not to 'follow' the inheritance hierarchy. 2344 * @param withIdentifiers boolean 2345 * Whether or not to include identifiers in the returned attributes. 2346 * @return handleGetInstanceAttributeNameList(follow, withIdentifiers) 2347 */ 2348 public String getInstanceAttributeNameList(boolean follow, boolean withIdentifiers) 2349 { 2350 // getInstanceAttributeNameList has no pre constraints 2351 String returnValue = handleGetInstanceAttributeNameList(follow, withIdentifiers); 2352 // getInstanceAttributeNameList has no post constraints 2353 return returnValue; 2354 } 2355 2356 /** 2357 * Method to be implemented in descendants 2358 * Gets a comma separated list of instance attribute types. If 'follow' is true, will travel up 2359 * the inheritance hierarchy to include instance attribute types in parent entities as well. If 2360 * 'withIdentifiers' is true, will include identifiers. 2361 * @param follow 2362 * @param withIdentifiers 2363 * @return String 2364 */ 2365 protected abstract String handleGetInstanceAttributeTypeList(boolean follow, boolean withIdentifiers); 2366 2367 /** 2368 * Gets a comma separated list of instance attribute types. If 'follow' is true, will travel up 2369 * the inheritance hierarchy to include instance attribute types in parent entities as well. If 2370 * 'withIdentifiers' is true, will include identifiers. 2371 * @param follow boolean 2372 * Whether or not to 'follow' the inheritance hierarchy. 2373 * @param withIdentifiers boolean 2374 * Whether or not to include identifiers. 2375 * @return handleGetInstanceAttributeTypeList(follow, withIdentifiers) 2376 */ 2377 public String getInstanceAttributeTypeList(boolean follow, boolean withIdentifiers) 2378 { 2379 // getInstanceAttributeTypeList has no pre constraints 2380 String returnValue = handleGetInstanceAttributeTypeList(follow, withIdentifiers); 2381 // getInstanceAttributeTypeList has no post constraints 2382 return returnValue; 2383 } 2384 2385 // ------------- associations ------------------ 2386 2387 private EJB3EntityFacade __getRoot1r; 2388 private boolean __getRoot1rSet = false; 2389 2390 /** 2391 * Represents an entity EJB. 2392 * @return (EJB3EntityFacade)handleGetRoot() 2393 */ 2394 public final EJB3EntityFacade getRoot() 2395 { 2396 EJB3EntityFacade getRoot1r = this.__getRoot1r; 2397 if (!this.__getRoot1rSet) 2398 { 2399 // eJB3EntityFacade has no pre constraints 2400 Object result = handleGetRoot(); 2401 MetafacadeBase shieldedResult = this.shieldedElement(result); 2402 try 2403 { 2404 getRoot1r = (EJB3EntityFacade)shieldedResult; 2405 } 2406 catch (ClassCastException ex) 2407 { 2408 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 2409 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getRoot EJB3EntityFacade " + result + ": " + shieldedResult); 2410 } 2411 // eJB3EntityFacade has no post constraints 2412 this.__getRoot1r = getRoot1r; 2413 if (isMetafacadePropertyCachingEnabled()) 2414 { 2415 this.__getRoot1rSet = true; 2416 } 2417 } 2418 return getRoot1r; 2419 } 2420 2421 /** 2422 * UML Specific type is transformed by shieldedElements to AndroMDA Metafacade type 2423 * @return Object 2424 */ 2425 protected abstract Object handleGetRoot(); 2426 2427 /** 2428 * Represents an entity EJB. 2429 * @return (Collection<DependencyFacade>)handleGetValueObjectReferences() 2430 */ 2431 public final Collection<DependencyFacade> getValueObjectReferences() 2432 { 2433 Collection<DependencyFacade> getValueObjectReferences2r = null; 2434 // eJB3EntityFacade has no pre constraints 2435 Collection result = handleGetValueObjectReferences(); 2436 List shieldedResult = this.shieldedElements(result); 2437 try 2438 { 2439 getValueObjectReferences2r = (Collection<DependencyFacade>)shieldedResult; 2440 } 2441 catch (ClassCastException ex) 2442 { 2443 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 2444 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getValueObjectReferences Collection<DependencyFacade> " + result + ": " + shieldedResult); 2445 } 2446 // eJB3EntityFacade has no post constraints 2447 return getValueObjectReferences2r; 2448 } 2449 2450 /** 2451 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type 2452 * @return Collection 2453 */ 2454 protected abstract Collection handleGetValueObjectReferences(); 2455 2456 /** 2457 * Represents an entity EJB. 2458 * @return (AttributeFacade)handleGetManageableDisplayAttribute() 2459 */ 2460 public final AttributeFacade getManageableDisplayAttribute() 2461 { 2462 AttributeFacade getManageableDisplayAttribute3r = null; 2463 // eJB3EntityFacade has no pre constraints 2464 Object result = handleGetManageableDisplayAttribute(); 2465 MetafacadeBase shieldedResult = this.shieldedElement(result); 2466 try 2467 { 2468 getManageableDisplayAttribute3r = (AttributeFacade)shieldedResult; 2469 } 2470 catch (ClassCastException ex) 2471 { 2472 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 2473 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getManageableDisplayAttribute AttributeFacade " + result + ": " + shieldedResult); 2474 } 2475 // eJB3EntityFacade has no post constraints 2476 return getManageableDisplayAttribute3r; 2477 } 2478 2479 /** 2480 * UML Specific type is transformed by shieldedElements to AndroMDA Metafacade type 2481 * @return Object 2482 */ 2483 protected abstract Object handleGetManageableDisplayAttribute(); 2484 2485 /** 2486 * Represents an entity EJB. 2487 * @return (Collection<DependencyFacade>)handleGetAllValueObjectReferences() 2488 */ 2489 public final Collection<DependencyFacade> getAllValueObjectReferences() 2490 { 2491 Collection<DependencyFacade> getAllValueObjectReferences4r = null; 2492 // eJB3EntityFacade has no pre constraints 2493 Collection result = handleGetAllValueObjectReferences(); 2494 List shieldedResult = this.shieldedElements(result); 2495 try 2496 { 2497 getAllValueObjectReferences4r = (Collection<DependencyFacade>)shieldedResult; 2498 } 2499 catch (ClassCastException ex) 2500 { 2501 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 2502 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getAllValueObjectReferences Collection<DependencyFacade> " + result + ": " + shieldedResult); 2503 } 2504 // eJB3EntityFacade has no post constraints 2505 return getAllValueObjectReferences4r; 2506 } 2507 2508 /** 2509 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type 2510 * @return Collection 2511 */ 2512 protected abstract Collection handleGetAllValueObjectReferences(); 2513 2514 private Collection<EJB3OperationFacade> __getDaoBusinessOperations5r; 2515 private boolean __getDaoBusinessOperations5rSet = false; 2516 2517 /** 2518 * Represents an entity EJB. 2519 * @return (Collection<EJB3OperationFacade>)handleGetDaoBusinessOperations() 2520 */ 2521 public final Collection<EJB3OperationFacade> getDaoBusinessOperations() 2522 { 2523 Collection<EJB3OperationFacade> getDaoBusinessOperations5r = this.__getDaoBusinessOperations5r; 2524 if (!this.__getDaoBusinessOperations5rSet) 2525 { 2526 // eJB3EntityFacade has no pre constraints 2527 Collection result = handleGetDaoBusinessOperations(); 2528 List shieldedResult = this.shieldedElements(result); 2529 try 2530 { 2531 getDaoBusinessOperations5r = (Collection<EJB3OperationFacade>)shieldedResult; 2532 } 2533 catch (ClassCastException ex) 2534 { 2535 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 2536 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getDaoBusinessOperations Collection<EJB3OperationFacade> " + result + ": " + shieldedResult); 2537 } 2538 // eJB3EntityFacade has no post constraints 2539 this.__getDaoBusinessOperations5r = getDaoBusinessOperations5r; 2540 if (isMetafacadePropertyCachingEnabled()) 2541 { 2542 this.__getDaoBusinessOperations5rSet = true; 2543 } 2544 } 2545 return getDaoBusinessOperations5r; 2546 } 2547 2548 /** 2549 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type 2550 * @return Collection 2551 */ 2552 protected abstract Collection handleGetDaoBusinessOperations(); 2553 2554 /** 2555 * Represents an entity EJB. 2556 * @return (Collection<Role>)handleGetNonRunAsRoles() 2557 */ 2558 public final Collection<Role> getNonRunAsRoles() 2559 { 2560 Collection<Role> getNonRunAsRoles6r = null; 2561 // eJB3EntityFacade has no pre constraints 2562 Collection result = handleGetNonRunAsRoles(); 2563 List shieldedResult = this.shieldedElements(result); 2564 try 2565 { 2566 getNonRunAsRoles6r = (Collection<Role>)shieldedResult; 2567 } 2568 catch (ClassCastException ex) 2569 { 2570 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 2571 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getNonRunAsRoles Collection<Role> " + result + ": " + shieldedResult); 2572 } 2573 // eJB3EntityFacade has no post constraints 2574 return getNonRunAsRoles6r; 2575 } 2576 2577 /** 2578 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type 2579 * @return Collection 2580 */ 2581 protected abstract Collection handleGetNonRunAsRoles(); 2582 2583 private ModelElementFacade __getIdentifier7r; 2584 private boolean __getIdentifier7rSet = false; 2585 2586 /** 2587 * Represents an entity EJB. 2588 * @return (ModelElementFacade)handleGetIdentifier() 2589 */ 2590 public final ModelElementFacade getIdentifier() 2591 { 2592 ModelElementFacade getIdentifier7r = this.__getIdentifier7r; 2593 if (!this.__getIdentifier7rSet) 2594 { 2595 // eJB3EntityFacade has no pre constraints 2596 Object result = handleGetIdentifier(); 2597 MetafacadeBase shieldedResult = this.shieldedElement(result); 2598 try 2599 { 2600 getIdentifier7r = (ModelElementFacade)shieldedResult; 2601 } 2602 catch (ClassCastException ex) 2603 { 2604 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 2605 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getIdentifier ModelElementFacade " + result + ": " + shieldedResult); 2606 } 2607 // eJB3EntityFacade has no post constraints 2608 this.__getIdentifier7r = getIdentifier7r; 2609 if (isMetafacadePropertyCachingEnabled()) 2610 { 2611 this.__getIdentifier7rSet = true; 2612 } 2613 } 2614 return getIdentifier7r; 2615 } 2616 2617 /** 2618 * UML Specific type is transformed by shieldedElements to AndroMDA Metafacade type 2619 * @return Object 2620 */ 2621 protected abstract Object handleGetIdentifier(); 2622 2623 /** 2624 * @return true 2625 * @see Entity 2626 */ 2627 public boolean isEntityMetaType() 2628 { 2629 return true; 2630 } 2631 2632 /** 2633 * @return true 2634 * @see ClassifierFacade 2635 */ 2636 public boolean isClassifierFacadeMetaType() 2637 { 2638 return true; 2639 } 2640 2641 /** 2642 * @return true 2643 * @see GeneralizableElementFacade 2644 */ 2645 public boolean isGeneralizableElementFacadeMetaType() 2646 { 2647 return true; 2648 } 2649 2650 /** 2651 * @return true 2652 * @see ModelElementFacade 2653 */ 2654 public boolean isModelElementFacadeMetaType() 2655 { 2656 return true; 2657 } 2658 2659 // ----------- delegates to Entity ------------ 2660 /** 2661 * Return the attribute which name matches the parameter 2662 * @see ClassifierFacade#findAttribute(String name) 2663 */ 2664 public AttributeFacade findAttribute(String name) 2665 { 2666 return this.getSuperEntity().findAttribute(name); 2667 } 2668 2669 /** 2670 * Those abstraction dependencies for which this classifier is the client. 2671 * @see ClassifierFacade#getAbstractions() 2672 */ 2673 public Collection<ClassifierFacade> getAbstractions() 2674 { 2675 return this.getSuperEntity().getAbstractions(); 2676 } 2677 2678 /** 2679 * Lists all classes associated to this one and any ancestor classes (through generalization). 2680 * There will be no duplicates. The order of the elements is predictable. 2681 * @see ClassifierFacade#getAllAssociatedClasses() 2682 */ 2683 public Collection<ClassifierFacade> getAllAssociatedClasses() 2684 { 2685 return this.getSuperEntity().getAllAssociatedClasses(); 2686 } 2687 2688 /** 2689 * A collection containing all 'properties' of the classifier and its ancestors. Properties are 2690 * any attributes and navigable connecting association ends. 2691 * @see ClassifierFacade#getAllProperties() 2692 */ 2693 public Collection<ModelElementFacade> getAllProperties() 2694 { 2695 return this.getSuperEntity().getAllProperties(); 2696 } 2697 2698 /** 2699 * A collection containing all required and/or read-only 'properties' of the classifier and its 2700 * ancestors. Properties are any attributes and navigable connecting association ends. 2701 * @see ClassifierFacade#getAllRequiredConstructorParameters() 2702 */ 2703 public Collection<ModelElementFacade> getAllRequiredConstructorParameters() 2704 { 2705 return this.getSuperEntity().getAllRequiredConstructorParameters(); 2706 } 2707 2708 /** 2709 * Gets the array type for this classifier. If this classifier already represents an array, it 2710 * just returns itself. 2711 * @see ClassifierFacade#getArray() 2712 */ 2713 public ClassifierFacade getArray() 2714 { 2715 return this.getSuperEntity().getArray(); 2716 } 2717 2718 /** 2719 * The name of the classifier as an array. 2720 * @see ClassifierFacade#getArrayName() 2721 */ 2722 public String getArrayName() 2723 { 2724 return this.getSuperEntity().getArrayName(); 2725 } 2726 2727 /** 2728 * Lists the classes associated to this one, there is no repitition of classes. The order of the 2729 * elements is predictable. 2730 * @see ClassifierFacade#getAssociatedClasses() 2731 */ 2732 public Collection<ClassifierFacade> getAssociatedClasses() 2733 { 2734 return this.getSuperEntity().getAssociatedClasses(); 2735 } 2736 2737 /** 2738 * Gets the association ends belonging to a classifier. 2739 * @see ClassifierFacade#getAssociationEnds() 2740 */ 2741 public List<AssociationEndFacade> getAssociationEnds() 2742 { 2743 return this.getSuperEntity().getAssociationEnds(); 2744 } 2745 2746 /** 2747 * Gets the attributes that belong to the classifier. 2748 * @see ClassifierFacade#getAttributes() 2749 */ 2750 public List<AttributeFacade> getAttributes() 2751 { 2752 return this.getSuperEntity().getAttributes(); 2753 } 2754 2755 /** 2756 * Gets all attributes for the classifier and if 'follow' is true goes up the inheritance 2757 * hierarchy and gets the attributes from the super classes as well. 2758 * @see ClassifierFacade#getAttributes(boolean follow) 2759 */ 2760 public List<AttributeFacade> getAttributes(boolean follow) 2761 { 2762 return this.getSuperEntity().getAttributes(follow); 2763 } 2764 2765 /** 2766 * The fully qualified name of the classifier as an array. 2767 * @see ClassifierFacade#getFullyQualifiedArrayName() 2768 */ 2769 public String getFullyQualifiedArrayName() 2770 { 2771 return this.getSuperEntity().getFullyQualifiedArrayName(); 2772 } 2773 2774 /** 2775 * Returns all those operations that could be implemented at this classifier's level. This means 2776 * the operations owned by this classifier as well as any realized interface's operations 2777 * (recursively) in case this classifier itself is not already an interface, or generalized when 2778 * this classifier is an interface. 2779 * @see ClassifierFacade#getImplementationOperations() 2780 */ 2781 public Collection<OperationFacade> getImplementationOperations() 2782 { 2783 return this.getSuperEntity().getImplementationOperations(); 2784 } 2785 2786 /** 2787 * A comma separated list of the fully qualified names of all implemented interfaces. 2788 * @see ClassifierFacade#getImplementedInterfaceList() 2789 */ 2790 public String getImplementedInterfaceList() 2791 { 2792 return this.getSuperEntity().getImplementedInterfaceList(); 2793 } 2794 2795 /** 2796 * Those attributes that are scoped to an instance of this class. 2797 * @see ClassifierFacade#getInstanceAttributes() 2798 */ 2799 public Collection<AttributeFacade> getInstanceAttributes() 2800 { 2801 return this.getSuperEntity().getInstanceAttributes(); 2802 } 2803 2804 /** 2805 * Those operations that are scoped to an instance of this class. 2806 * @see ClassifierFacade#getInstanceOperations() 2807 */ 2808 public List<OperationFacade> getInstanceOperations() 2809 { 2810 return this.getSuperEntity().getInstanceOperations(); 2811 } 2812 2813 /** 2814 * Those interfaces that are abstractions of this classifier, this basically means this 2815 * classifier realizes them. 2816 * @see ClassifierFacade#getInterfaceAbstractions() 2817 */ 2818 public Collection<ClassifierFacade> getInterfaceAbstractions() 2819 { 2820 return this.getSuperEntity().getInterfaceAbstractions(); 2821 } 2822 2823 /** 2824 * A String representing a new Constructor declaration for this classifier type to be used in a 2825 * Java environment. 2826 * @see ClassifierFacade#getJavaNewString() 2827 */ 2828 public String getJavaNewString() 2829 { 2830 return this.getSuperEntity().getJavaNewString(); 2831 } 2832 2833 /** 2834 * A String representing the null-value for this classifier type to be used in a Java 2835 * environment. 2836 * @see ClassifierFacade#getJavaNullString() 2837 */ 2838 public String getJavaNullString() 2839 { 2840 return this.getSuperEntity().getJavaNullString(); 2841 } 2842 2843 /** 2844 * The other ends of this classifier's association ends which are navigable. 2845 * @see ClassifierFacade#getNavigableConnectingEnds() 2846 */ 2847 public Collection<AssociationEndFacade> getNavigableConnectingEnds() 2848 { 2849 return this.getSuperEntity().getNavigableConnectingEnds(); 2850 } 2851 2852 /** 2853 * Get the other ends of this classifier's association ends which are navigable and if 'follow' 2854 * is true goes up the inheritance hierarchy and gets the super association ends as well. 2855 * @see ClassifierFacade#getNavigableConnectingEnds(boolean follow) 2856 */ 2857 public List<AssociationEndFacade> getNavigableConnectingEnds(boolean follow) 2858 { 2859 return this.getSuperEntity().getNavigableConnectingEnds(follow); 2860 } 2861 2862 /** 2863 * Assuming that the classifier is an array, this will return the non array type of the 2864 * classifier from 2865 * the model. If the classifier is NOT an array, it will just return itself. 2866 * @see ClassifierFacade#getNonArray() 2867 */ 2868 public ClassifierFacade getNonArray() 2869 { 2870 return this.getSuperEntity().getNonArray(); 2871 } 2872 2873 /** 2874 * The attributes from this classifier in the form of an operation call (this example would be 2875 * in Java): '(String attributeOne, String attributeTwo). If there were no attributes on the 2876 * classifier, the result would be an empty '()'. 2877 * @see ClassifierFacade#getOperationCallFromAttributes() 2878 */ 2879 public String getOperationCallFromAttributes() 2880 { 2881 return this.getSuperEntity().getOperationCallFromAttributes(); 2882 } 2883 2884 /** 2885 * The operations owned by this classifier. 2886 * @see ClassifierFacade#getOperations() 2887 */ 2888 public List<OperationFacade> getOperations() 2889 { 2890 return this.getSuperEntity().getOperations(); 2891 } 2892 2893 /** 2894 * A collection containing all 'properties' of the classifier. Properties are any attributes 2895 * and navigable connecting association ends. 2896 * @see ClassifierFacade#getProperties() 2897 */ 2898 public List<ModelElementFacade> getProperties() 2899 { 2900 return this.getSuperEntity().getProperties(); 2901 } 2902 2903 /** 2904 * Gets all properties (attributes and navigable association ends) for the classifier and if 2905 * 'follow' is true goes up the inheritance hierarchy and gets the properties from the super 2906 * classes as well. 2907 * @see ClassifierFacade#getProperties(boolean follow) 2908 */ 2909 public List getProperties(boolean follow) 2910 { 2911 return this.getSuperEntity().getProperties(follow); 2912 } 2913 2914 /** 2915 * A collection containing all required and/or read-only 'properties' of the classifier. 2916 * Properties are any attributes and navigable connecting association ends. 2917 * @see ClassifierFacade#getRequiredConstructorParameters() 2918 */ 2919 public Collection<ModelElementFacade> getRequiredConstructorParameters() 2920 { 2921 return this.getSuperEntity().getRequiredConstructorParameters(); 2922 } 2923 2924 /** 2925 * Returns the serial version UID of the underlying model element. 2926 * @see ClassifierFacade#getSerialVersionUID() 2927 */ 2928 public long getSerialVersionUID() 2929 { 2930 return this.getSuperEntity().getSerialVersionUID(); 2931 } 2932 2933 /** 2934 * Those attributes that are scoped to the definition of this class. 2935 * @see ClassifierFacade#getStaticAttributes() 2936 */ 2937 public Collection<AttributeFacade> getStaticAttributes() 2938 { 2939 return this.getSuperEntity().getStaticAttributes(); 2940 } 2941 2942 /** 2943 * Those operations that are scoped to the definition of this class. 2944 * @see ClassifierFacade#getStaticOperations() 2945 */ 2946 public List<OperationFacade> getStaticOperations() 2947 { 2948 return this.getSuperEntity().getStaticOperations(); 2949 } 2950 2951 /** 2952 * This class' superclass, returns the generalization if it is a ClassifierFacade, null 2953 * otherwise. 2954 * @see ClassifierFacade#getSuperClass() 2955 */ 2956 public ClassifierFacade getSuperClass() 2957 { 2958 return this.getSuperEntity().getSuperClass(); 2959 } 2960 2961 /** 2962 * The wrapper name for this classifier if a mapped type has a defined wrapper class (ie. 'long' 2963 * maps to 'Long'). If the classifier doesn't have a wrapper defined for it, this method will 2964 * return a null. Note that wrapper mappings must be defined for the namespace by defining the 2965 * 'wrapperMappingsUri', this property must point to the location of the mappings file which 2966 * maps the primitives to wrapper types. 2967 * @see ClassifierFacade#getWrapperName() 2968 */ 2969 public String getWrapperName() 2970 { 2971 return this.getSuperEntity().getWrapperName(); 2972 } 2973 2974 /** 2975 * Indicates if this classifier is 'abstract'. 2976 * @see ClassifierFacade#isAbstract() 2977 */ 2978 public boolean isAbstract() 2979 { 2980 return this.getSuperEntity().isAbstract(); 2981 } 2982 2983 /** 2984 * True if this classifier represents an array type. False otherwise. 2985 * @see ClassifierFacade#isArrayType() 2986 */ 2987 public boolean isArrayType() 2988 { 2989 return this.getSuperEntity().isArrayType(); 2990 } 2991 2992 /** 2993 * True if the ClassifierFacade is an AssociationClass. 2994 * @see ClassifierFacade#isAssociationClass() 2995 */ 2996 public boolean isAssociationClass() 2997 { 2998 return this.getSuperEntity().isAssociationClass(); 2999 } 3000 3001 /** 3002 * Returns true if this type represents a Blob type. 3003 * @see ClassifierFacade#isBlobType() 3004 */ 3005 public boolean isBlobType() 3006 { 3007 return this.getSuperEntity().isBlobType(); 3008 } 3009 3010 /** 3011 * Indicates if this type represents a boolean type or not. 3012 * @see ClassifierFacade#isBooleanType() 3013 */ 3014 public boolean isBooleanType() 3015 { 3016 return this.getSuperEntity().isBooleanType(); 3017 } 3018 3019 /** 3020 * Indicates if this type represents a char, Character, or java.lang.Character type or not. 3021 * @see ClassifierFacade#isCharacterType() 3022 */ 3023 public boolean isCharacterType() 3024 { 3025 return this.getSuperEntity().isCharacterType(); 3026 } 3027 3028 /** 3029 * Returns true if this type represents a Clob type. 3030 * @see ClassifierFacade#isClobType() 3031 */ 3032 public boolean isClobType() 3033 { 3034 return this.getSuperEntity().isClobType(); 3035 } 3036 3037 /** 3038 * True if this classifier represents a collection type. False otherwise. 3039 * @see ClassifierFacade#isCollectionType() 3040 */ 3041 public boolean isCollectionType() 3042 { 3043 return this.getSuperEntity().isCollectionType(); 3044 } 3045 3046 /** 3047 * True/false depending on whether or not this classifier represents a datatype. A data type is 3048 * a type whose instances are identified only by their value. A data type may contain attributes 3049 * to support the modeling of structured data types. 3050 * @see ClassifierFacade#isDataType() 3051 */ 3052 public boolean isDataType() 3053 { 3054 return this.getSuperEntity().isDataType(); 3055 } 3056 3057 /** 3058 * True when this classifier is a date type. 3059 * @see ClassifierFacade#isDateType() 3060 */ 3061 public boolean isDateType() 3062 { 3063 return this.getSuperEntity().isDateType(); 3064 } 3065 3066 /** 3067 * Indicates if this type represents a Double type or not. 3068 * @see ClassifierFacade#isDoubleType() 3069 */ 3070 public boolean isDoubleType() 3071 { 3072 return this.getSuperEntity().isDoubleType(); 3073 } 3074 3075 /** 3076 * Indicates whether or not this classifier represents an "EmbeddedValue'. 3077 * @see ClassifierFacade#isEmbeddedValue() 3078 */ 3079 public boolean isEmbeddedValue() 3080 { 3081 return this.getSuperEntity().isEmbeddedValue(); 3082 } 3083 3084 /** 3085 * True if this classifier is in fact marked as an enumeration. 3086 * @see ClassifierFacade#isEnumeration() 3087 */ 3088 public boolean isEnumeration() 3089 { 3090 return this.getSuperEntity().isEnumeration(); 3091 } 3092 3093 /** 3094 * Returns true if this type represents a 'file' type. 3095 * @see ClassifierFacade#isFileType() 3096 */ 3097 public boolean isFileType() 3098 { 3099 return this.getSuperEntity().isFileType(); 3100 } 3101 3102 /** 3103 * Indicates if this type represents a Float type or not. 3104 * @see ClassifierFacade#isFloatType() 3105 */ 3106 public boolean isFloatType() 3107 { 3108 return this.getSuperEntity().isFloatType(); 3109 } 3110 3111 /** 3112 * Indicates if this type represents an int or Integer or java.lang.Integer type or not. 3113 * @see ClassifierFacade#isIntegerType() 3114 */ 3115 public boolean isIntegerType() 3116 { 3117 return this.getSuperEntity().isIntegerType(); 3118 } 3119 3120 /** 3121 * True/false depending on whether or not this Classifier represents an interface. 3122 * @see ClassifierFacade#isInterface() 3123 */ 3124 public boolean isInterface() 3125 { 3126 return this.getSuperEntity().isInterface(); 3127 } 3128 3129 /** 3130 * True if this classifier cannot be extended and represent a leaf in the inheritance tree. 3131 * @see ClassifierFacade#isLeaf() 3132 */ 3133 public boolean isLeaf() 3134 { 3135 return this.getSuperEntity().isLeaf(); 3136 } 3137 3138 /** 3139 * True if this classifier represents a list type. False otherwise. 3140 * @see ClassifierFacade#isListType() 3141 */ 3142 public boolean isListType() 3143 { 3144 return this.getSuperEntity().isListType(); 3145 } 3146 3147 /** 3148 * Indicates if this type represents a Long type or not. 3149 * @see ClassifierFacade#isLongType() 3150 */ 3151 public boolean isLongType() 3152 { 3153 return this.getSuperEntity().isLongType(); 3154 } 3155 3156 /** 3157 * Indicates whether or not this classifier represents a Map type. 3158 * @see ClassifierFacade#isMapType() 3159 */ 3160 public boolean isMapType() 3161 { 3162 return this.getSuperEntity().isMapType(); 3163 } 3164 3165 /** 3166 * Indicates whether or not this classifier represents a primitive type. 3167 * @see ClassifierFacade#isPrimitive() 3168 */ 3169 public boolean isPrimitive() 3170 { 3171 return this.getSuperEntity().isPrimitive(); 3172 } 3173 3174 /** 3175 * True if this classifier represents a set type. False otherwise. 3176 * @see ClassifierFacade#isSetType() 3177 */ 3178 public boolean isSetType() 3179 { 3180 return this.getSuperEntity().isSetType(); 3181 } 3182 3183 /** 3184 * Indicates whether or not this classifier represents a string type. 3185 * @see ClassifierFacade#isStringType() 3186 */ 3187 public boolean isStringType() 3188 { 3189 return this.getSuperEntity().isStringType(); 3190 } 3191 3192 /** 3193 * Indicates whether or not this classifier represents a time type. 3194 * @see ClassifierFacade#isTimeType() 3195 */ 3196 public boolean isTimeType() 3197 { 3198 return this.getSuperEntity().isTimeType(); 3199 } 3200 3201 /** 3202 * Returns true if this type is a wrapped primitive type. 3203 * @see ClassifierFacade#isWrappedPrimitive() 3204 */ 3205 public boolean isWrappedPrimitive() 3206 { 3207 return this.getSuperEntity().isWrappedPrimitive(); 3208 } 3209 3210 /** 3211 * Returns a collection of all entities this entity and its ancestors have a relation to. 3212 * @see Entity#getAllEntityReferences() 3213 */ 3214 public Collection<DependencyFacade> getAllEntityReferences() 3215 { 3216 return this.getSuperEntity().getAllEntityReferences(); 3217 } 3218 3219 /** 3220 * Gets a comma separated list of attribute names. If 'follow' is true, will travel up the 3221 * inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers' 3222 * is true, will include identifiers. 3223 * @see Entity#getAttributeNameList(boolean follow, boolean withIdentifiers) 3224 */ 3225 public String getAttributeNameList(boolean follow, boolean withIdentifiers) 3226 { 3227 return this.getSuperEntity().getAttributeNameList(follow, withIdentifiers); 3228 } 3229 3230 /** 3231 * Gets a comma separated list of attribute names. If 'follow' is true, will travel up the 3232 * inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers' 3233 * is true, will include identifiers and if 'withDerived' is set to true, will include derived 3234 * attributes. 3235 * @see Entity#getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived) 3236 */ 3237 public String getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived) 3238 { 3239 return this.getSuperEntity().getAttributeNameList(follow, withIdentifiers, withDerived); 3240 } 3241 3242 /** 3243 * Gets a comma separated list of attribute types. If 'follow' is true, will travel up the 3244 * inheritance hierarchy to include attributes in parent entities as well. If 'withIdentifiers' 3245 * is true, will include identifiers. 3246 * @see Entity#getAttributeTypeList(boolean follow, boolean withIdentifiers) 3247 */ 3248 public String getAttributeTypeList(boolean follow, boolean withIdentifiers) 3249 { 3250 return this.getSuperEntity().getAttributeTypeList(follow, withIdentifiers); 3251 } 3252 3253 /** 3254 * Gets all attributes of the entity, and optionally retieves the super entities attributes as 3255 * well as excludes the entity's identifiers if 'withIdentifiers' is set to false. 3256 * @see Entity#getAttributes(boolean follow, boolean withIdentifiers) 3257 */ 3258 public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers) 3259 { 3260 return this.getSuperEntity().getAttributes(follow, withIdentifiers); 3261 } 3262 3263 /** 3264 * Gets all attributes of the entity, and optionally retieves the super entities attributes as 3265 * well as excludes the entity's identifiers if 'withIdentifiers' is set to false and exclude 3266 * derived attributes if 'withDerived' is set to false. 3267 * @see Entity#getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived) 3268 */ 3269 public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived) 3270 { 3271 return this.getSuperEntity().getAttributes(follow, withIdentifiers, withDerived); 3272 } 3273 3274 /** 3275 * All business operations of the entity, these include any operations that aren't queries. 3276 * @see Entity#getBusinessOperations() 3277 */ 3278 public Collection<OperationFacade> getBusinessOperations() 3279 { 3280 return this.getSuperEntity().getBusinessOperations(); 3281 } 3282 3283 /** 3284 * Gets any children association ends (i.e. entity association ends that are participants in an 3285 * association with this entity and this entity has composite aggregation defined for those 3286 * associations). 3287 * @see Entity#getChildEnds() 3288 */ 3289 public Collection<EntityAssociationEnd> getChildEnds() 3290 { 3291 return this.getSuperEntity().getChildEnds(); 3292 } 3293 3294 /** 3295 * The embedded values belonging to this entity. 3296 * @see Entity#getEmbeddedValues() 3297 */ 3298 public Collection<AttributeFacade> getEmbeddedValues() 3299 { 3300 return this.getSuperEntity().getEmbeddedValues(); 3301 } 3302 3303 /** 3304 * All entities referenced by this entity. 3305 * @see Entity#getEntityReferences() 3306 */ 3307 public Collection<DependencyFacade> getEntityReferences() 3308 { 3309 return this.getSuperEntity().getEntityReferences(); 3310 } 3311 3312 /** 3313 * The full name of the type of the identifier. If composite identifier add the PK sufix to the 3314 * class name. If not, retorns the fully qualified name of the identifier. 3315 * @see Entity#getFullyQualifiedIdentifierTypeName() 3316 */ 3317 public String getFullyQualifiedIdentifierTypeName() 3318 { 3319 return this.getSuperEntity().getFullyQualifiedIdentifierTypeName(); 3320 } 3321 3322 /** 3323 * Gets all the associationEnds of this entity marked with the identifiers stereotype. 3324 * @see Entity#getIdentifierAssociationEnds() 3325 */ 3326 public Collection<AssociationEndFacade> getIdentifierAssociationEnds() 3327 { 3328 return this.getSuperEntity().getIdentifierAssociationEnds(); 3329 } 3330 3331 /** 3332 * The getter name of the identifier. 3333 * @see Entity#getIdentifierGetterName() 3334 */ 3335 public String getIdentifierGetterName() 3336 { 3337 return this.getSuperEntity().getIdentifierGetterName(); 3338 } 3339 3340 /** 3341 * The name of the identifier. If composite identifier add the Pk suffix. If not composite 3342 * returns the attribute name of the identifier. 3343 * @see Entity#getIdentifierName() 3344 */ 3345 public String getIdentifierName() 3346 { 3347 return this.getSuperEntity().getIdentifierName(); 3348 } 3349 3350 /** 3351 * The setter name of the identifier. 3352 * @see Entity#getIdentifierSetterName() 3353 */ 3354 public String getIdentifierSetterName() 3355 { 3356 return this.getSuperEntity().getIdentifierSetterName(); 3357 } 3358 3359 /** 3360 * The name of the type of the identifier. If composite identifier add the PK suffix to the 3361 * class name. If not, returns the name of the identifier. 3362 * @see Entity#getIdentifierTypeName() 3363 */ 3364 public String getIdentifierTypeName() 3365 { 3366 return this.getSuperEntity().getIdentifierTypeName(); 3367 } 3368 3369 /** 3370 * All the attributes of the entity which make up its identifier (primary key). Will search any 3371 * super classes as well. If no identifiers exist, a default identifier will be created if the 3372 * allowDefaultIdentifiers property is set to true. 3373 * @see Entity#getIdentifiers() 3374 */ 3375 public Collection<ModelElementFacade> getIdentifiers() 3376 { 3377 return this.getSuperEntity().getIdentifiers(); 3378 } 3379 3380 /** 3381 * Gets all identifiers for an entity. If 'follow' is true, and if no identifiers can be found 3382 * on the entity, a search up the inheritance chain will be performed, and the identifiers from 3383 * the first super class having them will be used. If no identifiers exist, a default 3384 * identifier will be created if the allowDefaultIdentifiers property is set to true. 3385 * Identifiers can be on attributes or associations (composite primary key). 3386 * @see Entity#getIdentifiers(boolean follow) 3387 */ 3388 public Collection<ModelElementFacade> getIdentifiers(boolean follow) 3389 { 3390 return this.getSuperEntity().getIdentifiers(follow); 3391 } 3392 3393 /** 3394 * The maximum length a SQL name may be. 3395 * @see Entity#getMaxSqlNameLength() 3396 */ 3397 public short getMaxSqlNameLength() 3398 { 3399 return this.getSuperEntity().getMaxSqlNameLength(); 3400 } 3401 3402 /** 3403 * Gets the attributes as a list within an operation call, optionally including the type names 3404 * and the identifier attributes. 3405 * @see Entity#getOperationCallFromAttributes(boolean withIdentifiers) 3406 */ 3407 public String getOperationCallFromAttributes(boolean withIdentifiers) 3408 { 3409 return this.getSuperEntity().getOperationCallFromAttributes(withIdentifiers); 3410 } 3411 3412 /** 3413 * Gets the attributes as a list within an operation call. If 'withTypeNames' is true, it will 3414 * include the type names, if 'withIdentifiers' is true it will include the identifiers. If 3415 * 'follow' is true it will follow the inheritance hierarchy and get the attributes of the super 3416 * class as well. 3417 * @see Entity#getOperationCallFromAttributes(boolean withIdentifiers, boolean follow) 3418 */ 3419 public String getOperationCallFromAttributes(boolean withIdentifiers, boolean follow) 3420 { 3421 return this.getSuperEntity().getOperationCallFromAttributes(withIdentifiers, follow); 3422 } 3423 3424 /** 3425 * Returns the parent association end of this entity if its a child entity. The parent is the 3426 * entity that is the participant the association that has composite aggregation defined. Will 3427 * return null if the entity has no parent. 3428 * @see Entity#getParentEnd() 3429 */ 3430 public EntityAssociationEnd getParentEnd() 3431 { 3432 return this.getSuperEntity().getParentEnd(); 3433 } 3434 3435 /** 3436 * Gets all properties of this entity, this includes the attributes and navigable association 3437 * ends of the entity. The 'follow' flag indcates whether or not the inheritance hierarchy 3438 * should be followed when getting all the properties. The 'withIdentifiers' flag indicates 3439 * whether or not identifiers should be included in the collection of properties. 3440 * @see Entity#getProperties(boolean follow, boolean withIdentifiers) 3441 */ 3442 public Collection<ModelElementFacade> getProperties(boolean follow, boolean withIdentifiers) 3443 { 3444 return this.getSuperEntity().getProperties(follow, withIdentifiers); 3445 } 3446 3447 /** 3448 * Returns all the operations that can perform queries on the entity. 3449 * @see Entity#getQueryOperations() 3450 */ 3451 public Collection<EntityQueryOperation> getQueryOperations() 3452 { 3453 return this.getSuperEntity().getQueryOperations(); 3454 } 3455 3456 /** 3457 * Gets all query operations for an entity. If 'follow' is true, and if no query operations can 3458 * be found on the entity, a search up the inheritance chain will be performed, and the 3459 * identifiers from the first super class having them will be used. If no identifiers exist, a 3460 * default identifier will be created if the allowDefaultIdentifiers property is set to true. 3461 * @see Entity#getQueryOperations(boolean follow) 3462 */ 3463 public Collection<OperationFacade> getQueryOperations(boolean follow) 3464 { 3465 return this.getSuperEntity().getQueryOperations(follow); 3466 } 3467 3468 /** 3469 * Gets a comma separated list of required attribute names. If 'follow' is true, will travel up 3470 * the inheritance hierarchy to include attributes in parent entities as well. If 3471 * 'withIdentifiers' is true, will include identifiers. 3472 * @see Entity#getRequiredAttributeNameList(boolean follow, boolean withIdentifiers) 3473 */ 3474 public String getRequiredAttributeNameList(boolean follow, boolean withIdentifiers) 3475 { 3476 return this.getSuperEntity().getRequiredAttributeNameList(follow, withIdentifiers); 3477 } 3478 3479 /** 3480 * Gets a comma separated list of attribute types with are required. If 'follow' is true, will 3481 * travel up the inheritance hierarchy to include attributes in parent entities as well. If 3482 * 'withIdentifiers' is true, will include identifiers. 3483 * @see Entity#getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers) 3484 */ 3485 public String getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers) 3486 { 3487 return this.getSuperEntity().getRequiredAttributeTypeList(follow, withIdentifiers); 3488 } 3489 3490 /** 3491 * Returns all attributes that are specified as 'required' in the model. If 'follow' is true, 3492 * then required attributes in super classes will also be returned, if false, just the ones 3493 * directly on the entity will be returned. If 'withIdentifiers' is true, the identifiers will 3494 * be include, if false, no identifiers will be included. 3495 * @see Entity#getRequiredAttributes(boolean follow, boolean withIdentifiers) 3496 */ 3497 public Collection<AttributeFacade> getRequiredAttributes(boolean follow, boolean withIdentifiers) 3498 { 3499 return this.getSuperEntity().getRequiredAttributes(follow, withIdentifiers); 3500 } 3501 3502 /** 3503 * Gets all required properties for this entity. These consist of any required attributes as 3504 * well as navigable associations that are marked as 'required'. If 'follow' is true, then the 3505 * inheritance hierchy will be followed and all required properties from super classes will be 3506 * included as well. 3507 * If 'withIdentifiers' is true, the identifiers will be include, if false, no identifiers will 3508 * be included. 3509 * @see Entity#getRequiredProperties(boolean follow, boolean withIdentifiers) 3510 */ 3511 public Collection<ModelElementFacade> getRequiredProperties(boolean follow, boolean withIdentifiers) 3512 { 3513 return this.getSuperEntity().getRequiredProperties(follow, withIdentifiers); 3514 } 3515 3516 /** 3517 * Creates a comma separated list of the required property names. 3518 * @see Entity#getRequiredPropertyNameList(boolean follow, boolean withIdentifiers) 3519 */ 3520 public String getRequiredPropertyNameList(boolean follow, boolean withIdentifiers) 3521 { 3522 return this.getSuperEntity().getRequiredPropertyNameList(follow, withIdentifiers); 3523 } 3524 3525 /** 3526 * A comma separated list of the required property types. 3527 * @see Entity#getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers) 3528 */ 3529 public String getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers) 3530 { 3531 return this.getSuperEntity().getRequiredPropertyTypeList(follow, withIdentifiers); 3532 } 3533 3534 /** 3535 * The name of the schema that contains the database table 3536 * @see Entity#getSchema() 3537 */ 3538 public String getSchema() 3539 { 3540 return this.getSuperEntity().getSchema(); 3541 } 3542 3543 /** 3544 * The name of the database table to which this entity is persisted. 3545 * @see Entity#getTableName() 3546 */ 3547 public String getTableName() 3548 { 3549 return this.getSuperEntity().getTableName(); 3550 } 3551 3552 /** 3553 * Returns true/false depending on whether or not this entity represetns a child in an 3554 * association (this occurs when this entity is on the opposite end of an assocation end defined 3555 * as composite). 3556 * @see Entity#isChild() 3557 */ 3558 public boolean isChild() 3559 { 3560 return this.getSuperEntity().isChild(); 3561 } 3562 3563 /** 3564 * True if this entity identifier is a composite (consists of multiple key columns, typically 3565 * abstracted into an external composite identifier class) 3566 * @see Entity#isCompositeIdentifier() 3567 */ 3568 public boolean isCompositeIdentifier() 3569 { 3570 return this.getSuperEntity().isCompositeIdentifier(); 3571 } 3572 3573 /** 3574 * True if the entity has its identifiers dynamically added, false otherwise. 3575 * @see Entity#isDynamicIdentifiersPresent() 3576 */ 3577 public boolean isDynamicIdentifiersPresent() 3578 { 3579 return this.getSuperEntity().isDynamicIdentifiersPresent(); 3580 } 3581 3582 /** 3583 * True if the entity has any identifiers defined, false otherwise. 3584 * @see Entity#isIdentifiersPresent() 3585 */ 3586 public boolean isIdentifiersPresent() 3587 { 3588 return this.getSuperEntity().isIdentifiersPresent(); 3589 } 3590 3591 /** 3592 * Indiciates if this entity is using an assigned identifier or not. 3593 * @see Entity#isUsingAssignedIdentifier() 3594 */ 3595 public boolean isUsingAssignedIdentifier() 3596 { 3597 return this.getSuperEntity().isUsingAssignedIdentifier(); 3598 } 3599 3600 /** 3601 * Indicates whether or not this entity is using a foreign identifier as its identifiers. That 3602 * is: the foreignIdentifier flag was set on an incoming association end and the entity is 3603 * therefore using the related foreign parent entity's identifier. 3604 * @see Entity#isUsingForeignIdentifier() 3605 */ 3606 public boolean isUsingForeignIdentifier() 3607 { 3608 return this.getSuperEntity().isUsingForeignIdentifier(); 3609 } 3610 3611 /** 3612 * Finds the tagged value optional searching the entire inheritance hierarchy if 'follow' is set 3613 * to true. 3614 * @see GeneralizableElementFacade#findTaggedValue(String tagName, boolean follow) 3615 */ 3616 public Object findTaggedValue(String tagName, boolean follow) 3617 { 3618 return this.getSuperEntity().findTaggedValue(tagName, follow); 3619 } 3620 3621 /** 3622 * All generalizations for this generalizable element, goes up the inheritance tree. 3623 * @see GeneralizableElementFacade#getAllGeneralizations() 3624 */ 3625 public Collection<GeneralizableElementFacade> getAllGeneralizations() 3626 { 3627 return this.getSuperEntity().getAllGeneralizations(); 3628 } 3629 3630 /** 3631 * All specializations (travels down the inheritance hierarchy). 3632 * @see GeneralizableElementFacade#getAllSpecializations() 3633 */ 3634 public Collection<GeneralizableElementFacade> getAllSpecializations() 3635 { 3636 return this.getSuperEntity().getAllSpecializations(); 3637 } 3638 3639 /** 3640 * Gets the direct generalization for this generalizable element. 3641 * @see GeneralizableElementFacade#getGeneralization() 3642 */ 3643 public GeneralizableElementFacade getGeneralization() 3644 { 3645 return this.getSuperEntity().getGeneralization(); 3646 } 3647 3648 /** 3649 * Gets the actual links that this generalization element is part of (it plays either the 3650 * specialization or generalization). 3651 * @see GeneralizableElementFacade#getGeneralizationLinks() 3652 */ 3653 public Collection<GeneralizationFacade> getGeneralizationLinks() 3654 { 3655 return this.getSuperEntity().getGeneralizationLinks(); 3656 } 3657 3658 /** 3659 * A comma separated list of the fully qualified names of all generalizations. 3660 * @see GeneralizableElementFacade#getGeneralizationList() 3661 */ 3662 public String getGeneralizationList() 3663 { 3664 return this.getSuperEntity().getGeneralizationList(); 3665 } 3666 3667 /** 3668 * The element found when you recursively follow the generalization path up to the root. If an 3669 * element has no generalization itself will be considered the root. 3670 * @see GeneralizableElementFacade#getGeneralizationRoot() 3671 */ 3672 public GeneralizableElementFacade getGeneralizationRoot() 3673 { 3674 return this.getSuperEntity().getGeneralizationRoot(); 3675 } 3676 3677 /** 3678 * Return all generalizations (ancestors) from this generalizable element. 3679 * @see GeneralizableElementFacade#getGeneralizations() 3680 */ 3681 public Collection<GeneralizableElementFacade> getGeneralizations() 3682 { 3683 return this.getSuperEntity().getGeneralizations(); 3684 } 3685 3686 /** 3687 * Gets the direct specializations (i.e. sub elements) for this generalizatble element. 3688 * @see GeneralizableElementFacade#getSpecializations() 3689 */ 3690 public Collection<GeneralizableElementFacade> getSpecializations() 3691 { 3692 return this.getSuperEntity().getSpecializations(); 3693 } 3694 3695 /** 3696 * Copies all tagged values from the given ModelElementFacade to this model element facade. 3697 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element) 3698 */ 3699 public void copyTaggedValues(ModelElementFacade element) 3700 { 3701 this.getSuperEntity().copyTaggedValues(element); 3702 } 3703 3704 /** 3705 * Finds the tagged value with the specified 'tagName'. In case there are more values the first 3706 * one found will be returned. 3707 * @see ModelElementFacade#findTaggedValue(String tagName) 3708 */ 3709 public Object findTaggedValue(String tagName) 3710 { 3711 return this.getSuperEntity().findTaggedValue(tagName); 3712 } 3713 3714 /** 3715 * Returns all the values for the tagged value with the specified name. The returned collection 3716 * will contains only String instances, or will be empty. Never null. 3717 * @see ModelElementFacade#findTaggedValues(String tagName) 3718 */ 3719 public Collection<Object> findTaggedValues(String tagName) 3720 { 3721 return this.getSuperEntity().findTaggedValues(tagName); 3722 } 3723 3724 /** 3725 * Returns the fully qualified name of the model element. The fully qualified name includes 3726 * complete package qualified name of the underlying model element. The templates parameter will 3727 * be replaced by the correct one given the binding relation of the parameter to this element. 3728 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement) 3729 */ 3730 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement) 3731 { 3732 return this.getSuperEntity().getBindedFullyQualifiedName(bindedElement); 3733 } 3734 3735 /** 3736 * Gets all constraints belonging to the model element. 3737 * @see ModelElementFacade#getConstraints() 3738 */ 3739 public Collection<ConstraintFacade> getConstraints() 3740 { 3741 return this.getSuperEntity().getConstraints(); 3742 } 3743 3744 /** 3745 * Returns the constraints of the argument kind that have been placed onto this model. Typical 3746 * kinds are "inv", "pre" and "post". Other kinds are possible. 3747 * @see ModelElementFacade#getConstraints(String kind) 3748 */ 3749 public Collection<ConstraintFacade> getConstraints(String kind) 3750 { 3751 return this.getSuperEntity().getConstraints(kind); 3752 } 3753 3754 /** 3755 * Gets the documentation for the model element, The indent argument is prefixed to each line. 3756 * By default this method wraps lines after 64 characters. 3757 * This method is equivalent to <code>getDocumentation(indent, 64)</code>. 3758 * @see ModelElementFacade#getDocumentation(String indent) 3759 */ 3760 public String getDocumentation(String indent) 3761 { 3762 return this.getSuperEntity().getDocumentation(indent); 3763 } 3764 3765 /** 3766 * This method returns the documentation for this model element, with the lines wrapped after 3767 * the specified number of characters, values of less than 1 will indicate no line wrapping is 3768 * required. By default paragraphs are returned as HTML. 3769 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>. 3770 * @see ModelElementFacade#getDocumentation(String indent, int lineLength) 3771 */ 3772 public String getDocumentation(String indent, int lineLength) 3773 { 3774 return this.getSuperEntity().getDocumentation(indent, lineLength); 3775 } 3776 3777 /** 3778 * This method returns the documentation for this model element, with the lines wrapped after 3779 * the specified number of characters, values of less than 1 will indicate no line wrapping is 3780 * required. HTML style determines if HTML Escaping is applied. 3781 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle) 3782 */ 3783 public String getDocumentation(String indent, int lineLength, boolean htmlStyle) 3784 { 3785 return this.getSuperEntity().getDocumentation(indent, lineLength, htmlStyle); 3786 } 3787 3788 /** 3789 * The fully qualified name of this model element. 3790 * @see ModelElementFacade#getFullyQualifiedName() 3791 */ 3792 public String getFullyQualifiedName() 3793 { 3794 return this.getSuperEntity().getFullyQualifiedName(); 3795 } 3796 3797 /** 3798 * Returns the fully qualified name of the model element. The fully qualified name includes 3799 * complete package qualified name of the underlying model element. If modelName is true, then 3800 * the original name of the model element (the name contained within the model) will be the name 3801 * returned, otherwise a name from a language mapping will be returned. 3802 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName) 3803 */ 3804 public String getFullyQualifiedName(boolean modelName) 3805 { 3806 return this.getSuperEntity().getFullyQualifiedName(modelName); 3807 } 3808 3809 /** 3810 * Returns the fully qualified name as a path, the returned value always starts with out a slash 3811 * '/'. 3812 * @see ModelElementFacade#getFullyQualifiedNamePath() 3813 */ 3814 public String getFullyQualifiedNamePath() 3815 { 3816 return this.getSuperEntity().getFullyQualifiedNamePath(); 3817 } 3818 3819 /** 3820 * Gets the unique identifier of the underlying model element. 3821 * @see ModelElementFacade#getId() 3822 */ 3823 public String getId() 3824 { 3825 return this.getSuperEntity().getId(); 3826 } 3827 3828 /** 3829 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which 3830 * are not represented by other properties, i.e. native, transient, volatile, synchronized, 3831 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings: 3832 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require 3833 * JDK5 compiler level. 3834 * @see ModelElementFacade#getKeywords() 3835 */ 3836 public Collection<String> getKeywords() 3837 { 3838 return this.getSuperEntity().getKeywords(); 3839 } 3840 3841 /** 3842 * UML2: Retrieves a localized label for this named element. 3843 * @see ModelElementFacade#getLabel() 3844 */ 3845 public String getLabel() 3846 { 3847 return this.getSuperEntity().getLabel(); 3848 } 3849 3850 /** 3851 * The language mappings that have been set for this model element. 3852 * @see ModelElementFacade#getLanguageMappings() 3853 */ 3854 public TypeMappings getLanguageMappings() 3855 { 3856 return this.getSuperEntity().getLanguageMappings(); 3857 } 3858 3859 /** 3860 * Return the model containing this model element (multiple models may be loaded and processed 3861 * at the same time). 3862 * @see ModelElementFacade#getModel() 3863 */ 3864 public ModelFacade getModel() 3865 { 3866 return this.getSuperEntity().getModel(); 3867 } 3868 3869 /** 3870 * The name of the model element. 3871 * @see ModelElementFacade#getName() 3872 */ 3873 public String getName() 3874 { 3875 return this.getSuperEntity().getName(); 3876 } 3877 3878 /** 3879 * Gets the package to which this model element belongs. 3880 * @see ModelElementFacade#getPackage() 3881 */ 3882 public ModelElementFacade getPackage() 3883 { 3884 return this.getSuperEntity().getPackage(); 3885 } 3886 3887 /** 3888 * The name of this model element's package. 3889 * @see ModelElementFacade#getPackageName() 3890 */ 3891 public String getPackageName() 3892 { 3893 return this.getSuperEntity().getPackageName(); 3894 } 3895 3896 /** 3897 * Gets the package name (optionally providing the ability to retrieve the model name and not 3898 * the mapped name). 3899 * @see ModelElementFacade#getPackageName(boolean modelName) 3900 */ 3901 public String getPackageName(boolean modelName) 3902 { 3903 return this.getSuperEntity().getPackageName(modelName); 3904 } 3905 3906 /** 3907 * Returns the package as a path, the returned value always starts with out a slash '/'. 3908 * @see ModelElementFacade#getPackagePath() 3909 */ 3910 public String getPackagePath() 3911 { 3912 return this.getSuperEntity().getPackagePath(); 3913 } 3914 3915 /** 3916 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the 3917 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from 3918 * the names of the containing namespaces starting at the root of the hierarchy and ending with 3919 * the name of the NamedElement itself. 3920 * @see ModelElementFacade#getQualifiedName() 3921 */ 3922 public String getQualifiedName() 3923 { 3924 return this.getSuperEntity().getQualifiedName(); 3925 } 3926 3927 /** 3928 * Gets the root package for the model element. 3929 * @see ModelElementFacade#getRootPackage() 3930 */ 3931 public PackageFacade getRootPackage() 3932 { 3933 return this.getSuperEntity().getRootPackage(); 3934 } 3935 3936 /** 3937 * Gets the dependencies for which this model element is the source. 3938 * @see ModelElementFacade#getSourceDependencies() 3939 */ 3940 public Collection<DependencyFacade> getSourceDependencies() 3941 { 3942 return this.getSuperEntity().getSourceDependencies(); 3943 } 3944 3945 /** 3946 * If this model element is the context of an activity graph, this represents that activity 3947 * graph. 3948 * @see ModelElementFacade#getStateMachineContext() 3949 */ 3950 public StateMachineFacade getStateMachineContext() 3951 { 3952 return this.getSuperEntity().getStateMachineContext(); 3953 } 3954 3955 /** 3956 * The collection of ALL stereotype names for this model element. 3957 * @see ModelElementFacade#getStereotypeNames() 3958 */ 3959 public Collection<String> getStereotypeNames() 3960 { 3961 return this.getSuperEntity().getStereotypeNames(); 3962 } 3963 3964 /** 3965 * Gets all stereotypes for this model element. 3966 * @see ModelElementFacade#getStereotypes() 3967 */ 3968 public Collection<StereotypeFacade> getStereotypes() 3969 { 3970 return this.getSuperEntity().getStereotypes(); 3971 } 3972 3973 /** 3974 * Return the TaggedValues associated with this model element, under all stereotypes. 3975 * @see ModelElementFacade#getTaggedValues() 3976 */ 3977 public Collection<TaggedValueFacade> getTaggedValues() 3978 { 3979 return this.getSuperEntity().getTaggedValues(); 3980 } 3981 3982 /** 3983 * Gets the dependencies for which this model element is the target. 3984 * @see ModelElementFacade#getTargetDependencies() 3985 */ 3986 public Collection<DependencyFacade> getTargetDependencies() 3987 { 3988 return this.getSuperEntity().getTargetDependencies(); 3989 } 3990 3991 /** 3992 * Get the template parameter for this model element having the parameterName 3993 * @see ModelElementFacade#getTemplateParameter(String parameterName) 3994 */ 3995 public Object getTemplateParameter(String parameterName) 3996 { 3997 return this.getSuperEntity().getTemplateParameter(parameterName); 3998 } 3999 4000 /** 4001 * Get the template parameters for this model element 4002 * @see ModelElementFacade#getTemplateParameters() 4003 */ 4004 public Collection<TemplateParameterFacade> getTemplateParameters() 4005 { 4006 return this.getSuperEntity().getTemplateParameters(); 4007 } 4008 4009 /** 4010 * The visibility (i.e. public, private, protected or package) of the model element, will 4011 * attempt a lookup for these values in the language mappings (if any). 4012 * @see ModelElementFacade#getVisibility() 4013 */ 4014 public String getVisibility() 4015 { 4016 return this.getSuperEntity().getVisibility(); 4017 } 4018 4019 /** 4020 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance 4021 * is taken into account when searching for the stereotype), false otherwise. 4022 * @see ModelElementFacade#hasExactStereotype(String stereotypeName) 4023 */ 4024 public boolean hasExactStereotype(String stereotypeName) 4025 { 4026 return this.getSuperEntity().hasExactStereotype(stereotypeName); 4027 } 4028 4029 /** 4030 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma, 4031 * pipe, semicolon, or << >> 4032 * @see ModelElementFacade#hasKeyword(String keywordName) 4033 */ 4034 public boolean hasKeyword(String keywordName) 4035 { 4036 return this.getSuperEntity().hasKeyword(keywordName); 4037 } 4038 4039 /** 4040 * Returns true if the model element has the specified stereotype. If the stereotype itself 4041 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if 4042 * one of the stereotype's ancestors has a matching name this method will return true, false 4043 * otherwise. 4044 * For example, if we have a certain stereotype called <<exception>> and a model element has a 4045 * stereotype called <<applicationException>> which extends <<exception>>, when calling this 4046 * method with 'stereotypeName' defined as 'exception' the method would return true since 4047 * <<applicationException>> inherits from <<exception>>. If you want to check if the model 4048 * element has the exact stereotype, then use the method 'hasExactStereotype' instead. 4049 * @see ModelElementFacade#hasStereotype(String stereotypeName) 4050 */ 4051 public boolean hasStereotype(String stereotypeName) 4052 { 4053 return this.getSuperEntity().hasStereotype(stereotypeName); 4054 } 4055 4056 /** 4057 * True if there are target dependencies from this element that are instances of BindingFacade. 4058 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies. 4059 * @see ModelElementFacade#isBindingDependenciesPresent() 4060 */ 4061 public boolean isBindingDependenciesPresent() 4062 { 4063 return this.getSuperEntity().isBindingDependenciesPresent(); 4064 } 4065 4066 /** 4067 * Indicates if any constraints are present on this model element. 4068 * @see ModelElementFacade#isConstraintsPresent() 4069 */ 4070 public boolean isConstraintsPresent() 4071 { 4072 return this.getSuperEntity().isConstraintsPresent(); 4073 } 4074 4075 /** 4076 * Indicates if any documentation is present on this model element. 4077 * @see ModelElementFacade#isDocumentationPresent() 4078 */ 4079 public boolean isDocumentationPresent() 4080 { 4081 return this.getSuperEntity().isDocumentationPresent(); 4082 } 4083 4084 /** 4085 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript. 4086 * @see ModelElementFacade#isReservedWord() 4087 */ 4088 public boolean isReservedWord() 4089 { 4090 return this.getSuperEntity().isReservedWord(); 4091 } 4092 4093 /** 4094 * True is there are template parameters on this model element. For UML2, applies to Class, 4095 * Operation, Property, and Parameter. 4096 * @see ModelElementFacade#isTemplateParametersPresent() 4097 */ 4098 public boolean isTemplateParametersPresent() 4099 { 4100 return this.getSuperEntity().isTemplateParametersPresent(); 4101 } 4102 4103 /** 4104 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++, 4105 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on 4106 * Enumerations and Interfaces, optionally applies on other model elements. 4107 * @see ModelElementFacade#isValidIdentifierName() 4108 */ 4109 public boolean isValidIdentifierName() 4110 { 4111 return this.getSuperEntity().isValidIdentifierName(); 4112 } 4113 4114 /** 4115 * Searches for the constraint with the specified 'name' on this model element, and if found 4116 * translates it using the specified 'translation' from a translation library discovered by the 4117 * framework. 4118 * @see ModelElementFacade#translateConstraint(String name, String translation) 4119 */ 4120 public String translateConstraint(String name, String translation) 4121 { 4122 return this.getSuperEntity().translateConstraint(name, translation); 4123 } 4124 4125 /** 4126 * Translates all constraints belonging to this model element with the given 'translation'. 4127 * @see ModelElementFacade#translateConstraints(String translation) 4128 */ 4129 public String[] translateConstraints(String translation) 4130 { 4131 return this.getSuperEntity().translateConstraints(translation); 4132 } 4133 4134 /** 4135 * Translates the constraints of the specified 'kind' belonging to this model element. 4136 * @see ModelElementFacade#translateConstraints(String kind, String translation) 4137 */ 4138 public String[] translateConstraints(String kind, String translation) 4139 { 4140 return this.getSuperEntity().translateConstraints(kind, translation); 4141 } 4142 4143 /** 4144 * @see MetafacadeBase#initialize() 4145 */ 4146 @Override 4147 public void initialize() 4148 { 4149 this.getSuperEntity().initialize(); 4150 } 4151 4152 /** 4153 * @return Object getSuperEntity().getValidationOwner() 4154 * @see MetafacadeBase#getValidationOwner() 4155 */ 4156 @Override 4157 public Object getValidationOwner() 4158 { 4159 Object owner = this.getSuperEntity().getValidationOwner(); 4160 return owner; 4161 } 4162 4163 /** 4164 * @return String getSuperEntity().getValidationName() 4165 * @see MetafacadeBase#getValidationName() 4166 */ 4167 @Override 4168 public String getValidationName() 4169 { 4170 String name = this.getSuperEntity().getValidationName(); 4171 return name; 4172 } 4173 4174 /** 4175 * <p><b>Constraint:</b> org::andromda::cartridges::ejb3::metafacades::EJB3EntityFacade::entities can only generalize other entities or mapped superclasses</p> 4176 * <p><b>Error:</b> Entities can only generalize other entities or mapped superclasses.</p> 4177 * <p><b>OCL:</b> context EJB3EntityFacade 4178inv: generalization -> notEmpty() 4179implies (generalization.oclIsKindOf(EJB3EntityFacade) or generalization.oclIsKindOf(EJB3MappedSuperclassFacade))</p> 4180 * @param validationMessages Collection<ModelValidationMessage> 4181 * @see MetafacadeBase#validateInvariants(Collection validationMessages) 4182 */ 4183 @Override 4184 public void validateInvariants(Collection<ModelValidationMessage> validationMessages) 4185 { 4186 this.getSuperEntity().validateInvariants(validationMessages); 4187 try 4188 { 4189 final Object contextElement = this.THIS(); 4190 boolean constraintValid = OCLResultEnsurer.ensure((Boolean.valueOf(String.valueOf(OCLCollections.notEmpty(OCLIntrospector.invoke(contextElement,"generalization")))).booleanValue()?(OCLIntrospector.invoke(contextElement,"generalization") instanceof EJB3EntityFacade||OCLIntrospector.invoke(contextElement,"generalization") instanceof EJB3MappedSuperclassFacade):true)); 4191 if (!constraintValid) 4192 { 4193 validationMessages.add( 4194 new ModelValidationMessage( 4195 (MetafacadeBase)contextElement , 4196 "org::andromda::cartridges::ejb3::metafacades::EJB3EntityFacade::entities can only generalize other entities or mapped superclasses", 4197 "Entities can only generalize other entities or mapped superclasses.")); 4198 } 4199 } 4200 catch (Throwable th) 4201 { 4202 Throwable cause = th.getCause(); 4203 int depth = 0; // Some throwables have infinite recursion 4204 while (cause != null && depth < 7) 4205 { 4206 th = cause; 4207 depth++; 4208 } 4209 logger.error("Error validating constraint 'org::andromda::cartridges::ejb3::metafacades::EJB3EntityFacade::entities can only generalize other entities or mapped superclasses' ON " 4210 + this.THIS().toString() + ": " + th.getMessage(), th); 4211 } 4212 } 4213 4214 /** 4215 * The property that stores the name of the metafacade. 4216 */ 4217 private static final String NAME_PROPERTY = "name"; 4218 private static final String FQNAME_PROPERTY = "fullyQualifiedName"; 4219 4220 /** 4221 * @see Object#toString() 4222 */ 4223 @Override 4224 public String toString() 4225 { 4226 final StringBuilder toString = new StringBuilder(this.getClass().getName()); 4227 toString.append("["); 4228 try 4229 { 4230 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY)); 4231 } 4232 catch (final Throwable tryAgain) 4233 { 4234 try 4235 { 4236 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY)); 4237 } 4238 catch (final Throwable ignore) 4239 { 4240 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property 4241 } 4242 } 4243 toString.append("]"); 4244 return toString.toString(); 4245 } 4246}