001// license-header java merge-point 002// 003// Attention: generated code (by MetafacadeLogic.vsl) - do not modify! 004// 005package org.andromda.cartridges.spring.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.StateMachineFacade; 028import org.andromda.metafacades.uml.StereotypeFacade; 029import org.andromda.metafacades.uml.TaggedValueFacade; 030import org.andromda.metafacades.uml.TemplateParameterFacade; 031import org.andromda.metafacades.uml.TypeMappings; 032import org.apache.log4j.Logger; 033 034/** 035 * Represents a Spring persistent entity 036 * MetafacadeLogic for SpringEntity 037 * 038 * @see SpringEntity 039 */ 040public abstract class SpringEntityLogic 041 extends MetafacadeBase 042 implements SpringEntity 043{ 044 /** 045 * The underlying UML object 046 * @see Object 047 */ 048 protected Object metaObject; 049 050 /** Create Metafacade implementation instance using the MetafacadeFactory from the context 051 * @param metaObjectIn 052 * @param context 053 */ 054 protected SpringEntityLogic(Object metaObjectIn, String context) 055 { 056 super(metaObjectIn, getContext(context)); 057 this.superEntity = 058 (Entity) 059 MetafacadeFactory.getInstance().createFacadeImpl( 060 "org.andromda.metafacades.uml.Entity", 061 metaObjectIn, 062 getContext(context)); 063 this.metaObject = metaObjectIn; 064 } 065 066 /** 067 * The logger instance. 068 */ 069 private static final Logger logger = Logger.getLogger(SpringEntityLogic.class); 070 071 /** 072 * Gets the context for this metafacade logic instance. 073 * @param context String. Set to SpringEntity if null 074 * @return context String 075 */ 076 private static String getContext(String context) 077 { 078 if (context == null) 079 { 080 context = "org.andromda.cartridges.spring.metafacades.SpringEntity"; 081 } 082 return context; 083 } 084 085 private Entity superEntity; 086 private boolean superEntityInitialized = false; 087 088 /** 089 * Gets the Entity parent instance. 090 * @return this.superEntity Entity 091 */ 092 private Entity getSuperEntity() 093 { 094 if (!this.superEntityInitialized) 095 { 096 ((MetafacadeBase)this.superEntity).setMetafacadeContext(this.getMetafacadeContext()); 097 this.superEntityInitialized = true; 098 } 099 return this.superEntity; 100 } 101 102 /** Reset context only for non-root metafacades 103 * @param context 104 * @see MetafacadeBase#resetMetafacadeContext(String context) 105 */ 106 @Override 107 public void resetMetafacadeContext(String context) 108 { 109 if (!this.contextRoot) // reset context only for non-root metafacades 110 { 111 context = getContext(context); // to have same value as in original constructor call 112 setMetafacadeContext (context); 113 if (this.superEntityInitialized) 114 { 115 ((MetafacadeBase)this.superEntity).resetMetafacadeContext(context); 116 } 117 } 118 } 119 120 /** 121 * @return boolean true always 122 * @see SpringEntity 123 */ 124 public boolean isSpringEntityMetaType() 125 { 126 return true; 127 } 128 129 // --------------- attributes --------------------- 130 131 /** 132 * @see SpringEntity#isDaoBusinessOperationsPresent() 133 * @return boolean 134 */ 135 protected abstract boolean handleIsDaoBusinessOperationsPresent(); 136 137 private boolean __daoBusinessOperationsPresent1a; 138 private boolean __daoBusinessOperationsPresent1aSet = false; 139 140 /** 141 * Indicates whether or not any business DAO operations are present. 142 * @return (boolean)handleIsDaoBusinessOperationsPresent() 143 */ 144 public final boolean isDaoBusinessOperationsPresent() 145 { 146 boolean daoBusinessOperationsPresent1a = this.__daoBusinessOperationsPresent1a; 147 if (!this.__daoBusinessOperationsPresent1aSet) 148 { 149 // daoBusinessOperationsPresent has no pre constraints 150 daoBusinessOperationsPresent1a = handleIsDaoBusinessOperationsPresent(); 151 // daoBusinessOperationsPresent has no post constraints 152 this.__daoBusinessOperationsPresent1a = daoBusinessOperationsPresent1a; 153 if (isMetafacadePropertyCachingEnabled()) 154 { 155 this.__daoBusinessOperationsPresent1aSet = true; 156 } 157 } 158 return daoBusinessOperationsPresent1a; 159 } 160 161 /** 162 * @see SpringEntity#isDaoImplementationRequired() 163 * @return boolean 164 */ 165 protected abstract boolean handleIsDaoImplementationRequired(); 166 167 private boolean __daoImplementationRequired2a; 168 private boolean __daoImplementationRequired2aSet = false; 169 170 /** 171 * True if an implementation is required for the dao class, this is the case when there are 172 * business operations or value-object transformation. 173 * @return (boolean)handleIsDaoImplementationRequired() 174 */ 175 public final boolean isDaoImplementationRequired() 176 { 177 boolean daoImplementationRequired2a = this.__daoImplementationRequired2a; 178 if (!this.__daoImplementationRequired2aSet) 179 { 180 // daoImplementationRequired has no pre constraints 181 daoImplementationRequired2a = handleIsDaoImplementationRequired(); 182 // daoImplementationRequired has no post constraints 183 this.__daoImplementationRequired2a = daoImplementationRequired2a; 184 if (isMetafacadePropertyCachingEnabled()) 185 { 186 this.__daoImplementationRequired2aSet = true; 187 } 188 } 189 return daoImplementationRequired2a; 190 } 191 192 /** 193 * @see SpringEntity#getDaoNoTransformationConstantName() 194 * @return String 195 */ 196 protected abstract String handleGetDaoNoTransformationConstantName(); 197 198 private String __daoNoTransformationConstantName3a; 199 private boolean __daoNoTransformationConstantName3aSet = false; 200 201 /** 202 * The constant name denoting no transformation is to be applied. 203 * @return (String)handleGetDaoNoTransformationConstantName() 204 */ 205 public final String getDaoNoTransformationConstantName() 206 { 207 String daoNoTransformationConstantName3a = this.__daoNoTransformationConstantName3a; 208 if (!this.__daoNoTransformationConstantName3aSet) 209 { 210 // daoNoTransformationConstantName has no pre constraints 211 daoNoTransformationConstantName3a = handleGetDaoNoTransformationConstantName(); 212 // daoNoTransformationConstantName has no post constraints 213 this.__daoNoTransformationConstantName3a = daoNoTransformationConstantName3a; 214 if (isMetafacadePropertyCachingEnabled()) 215 { 216 this.__daoNoTransformationConstantName3aSet = true; 217 } 218 } 219 return daoNoTransformationConstantName3a; 220 } 221 222 /** 223 * @see SpringEntity#isHibernateInheritanceClass() 224 * @return boolean 225 */ 226 protected abstract boolean handleIsHibernateInheritanceClass(); 227 228 private boolean __hibernateInheritanceClass4a; 229 private boolean __hibernateInheritanceClass4aSet = false; 230 231 /** 232 * Return true if the hibernate inheritance strategy is class. 233 * @return (boolean)handleIsHibernateInheritanceClass() 234 */ 235 public final boolean isHibernateInheritanceClass() 236 { 237 boolean hibernateInheritanceClass4a = this.__hibernateInheritanceClass4a; 238 if (!this.__hibernateInheritanceClass4aSet) 239 { 240 // hibernateInheritanceClass has no pre constraints 241 hibernateInheritanceClass4a = handleIsHibernateInheritanceClass(); 242 // hibernateInheritanceClass has no post constraints 243 this.__hibernateInheritanceClass4a = hibernateInheritanceClass4a; 244 if (isMetafacadePropertyCachingEnabled()) 245 { 246 this.__hibernateInheritanceClass4aSet = true; 247 } 248 } 249 return hibernateInheritanceClass4a; 250 } 251 252 /** 253 * @see SpringEntity#isHibernateInheritanceConcrete() 254 * @return boolean 255 */ 256 protected abstract boolean handleIsHibernateInheritanceConcrete(); 257 258 private boolean __hibernateInheritanceConcrete5a; 259 private boolean __hibernateInheritanceConcrete5aSet = false; 260 261 /** 262 * Return true if the hibernate inheritance strategy is concrete. 263 * @return (boolean)handleIsHibernateInheritanceConcrete() 264 */ 265 public final boolean isHibernateInheritanceConcrete() 266 { 267 boolean hibernateInheritanceConcrete5a = this.__hibernateInheritanceConcrete5a; 268 if (!this.__hibernateInheritanceConcrete5aSet) 269 { 270 // hibernateInheritanceConcrete has no pre constraints 271 hibernateInheritanceConcrete5a = handleIsHibernateInheritanceConcrete(); 272 // hibernateInheritanceConcrete has no post constraints 273 this.__hibernateInheritanceConcrete5a = hibernateInheritanceConcrete5a; 274 if (isMetafacadePropertyCachingEnabled()) 275 { 276 this.__hibernateInheritanceConcrete5aSet = true; 277 } 278 } 279 return hibernateInheritanceConcrete5a; 280 } 281 282 /** 283 * @see SpringEntity#isHibernateInheritanceInterface() 284 * @return boolean 285 */ 286 protected abstract boolean handleIsHibernateInheritanceInterface(); 287 288 private boolean __hibernateInheritanceInterface6a; 289 private boolean __hibernateInheritanceInterface6aSet = false; 290 291 /** 292 * Return true if the hibernate inheritance strategy is interface. 293 * @return (boolean)handleIsHibernateInheritanceInterface() 294 */ 295 public final boolean isHibernateInheritanceInterface() 296 { 297 boolean hibernateInheritanceInterface6a = this.__hibernateInheritanceInterface6a; 298 if (!this.__hibernateInheritanceInterface6aSet) 299 { 300 // hibernateInheritanceInterface has no pre constraints 301 hibernateInheritanceInterface6a = handleIsHibernateInheritanceInterface(); 302 // hibernateInheritanceInterface has no post constraints 303 this.__hibernateInheritanceInterface6a = hibernateInheritanceInterface6a; 304 if (isMetafacadePropertyCachingEnabled()) 305 { 306 this.__hibernateInheritanceInterface6aSet = true; 307 } 308 } 309 return hibernateInheritanceInterface6a; 310 } 311 312 /** 313 * @see SpringEntity#isHibernateInheritanceSubclass() 314 * @return boolean 315 */ 316 protected abstract boolean handleIsHibernateInheritanceSubclass(); 317 318 private boolean __hibernateInheritanceSubclass7a; 319 private boolean __hibernateInheritanceSubclass7aSet = false; 320 321 /** 322 * Return true if the hibernate inheritance strategy is subclass. 323 * @return (boolean)handleIsHibernateInheritanceSubclass() 324 */ 325 public final boolean isHibernateInheritanceSubclass() 326 { 327 boolean hibernateInheritanceSubclass7a = this.__hibernateInheritanceSubclass7a; 328 if (!this.__hibernateInheritanceSubclass7aSet) 329 { 330 // hibernateInheritanceSubclass has no pre constraints 331 hibernateInheritanceSubclass7a = handleIsHibernateInheritanceSubclass(); 332 // hibernateInheritanceSubclass has no post constraints 333 this.__hibernateInheritanceSubclass7a = hibernateInheritanceSubclass7a; 334 if (isMetafacadePropertyCachingEnabled()) 335 { 336 this.__hibernateInheritanceSubclass7aSet = true; 337 } 338 } 339 return hibernateInheritanceSubclass7a; 340 } 341 342 /** 343 * @see SpringEntity#getHibernateInheritanceStrategy() 344 * @return String 345 */ 346 protected abstract String handleGetHibernateInheritanceStrategy(); 347 348 private String __hibernateInheritanceStrategy8a; 349 private boolean __hibernateInheritanceStrategy8aSet = false; 350 351 /** 352 * Return the value of the tagged value andromda_hibernate_inheritance. 353 * @return (String)handleGetHibernateInheritanceStrategy() 354 */ 355 public final String getHibernateInheritanceStrategy() 356 { 357 String hibernateInheritanceStrategy8a = this.__hibernateInheritanceStrategy8a; 358 if (!this.__hibernateInheritanceStrategy8aSet) 359 { 360 // hibernateInheritanceStrategy has no pre constraints 361 hibernateInheritanceStrategy8a = handleGetHibernateInheritanceStrategy(); 362 // hibernateInheritanceStrategy has no post constraints 363 this.__hibernateInheritanceStrategy8a = hibernateInheritanceStrategy8a; 364 if (isMetafacadePropertyCachingEnabled()) 365 { 366 this.__hibernateInheritanceStrategy8aSet = true; 367 } 368 } 369 return hibernateInheritanceStrategy8a; 370 } 371 372 /** 373 * @see SpringEntity#getFullyQualifiedEntityName() 374 * @return String 375 */ 376 protected abstract String handleGetFullyQualifiedEntityName(); 377 378 private String __fullyQualifiedEntityName9a; 379 private boolean __fullyQualifiedEntityName9aSet = false; 380 381 /** 382 * The fully qualified name of the entity class. 383 * @return (String)handleGetFullyQualifiedEntityName() 384 */ 385 public final String getFullyQualifiedEntityName() 386 { 387 String fullyQualifiedEntityName9a = this.__fullyQualifiedEntityName9a; 388 if (!this.__fullyQualifiedEntityName9aSet) 389 { 390 // fullyQualifiedEntityName has no pre constraints 391 fullyQualifiedEntityName9a = handleGetFullyQualifiedEntityName(); 392 // fullyQualifiedEntityName has no post constraints 393 this.__fullyQualifiedEntityName9a = fullyQualifiedEntityName9a; 394 if (isMetafacadePropertyCachingEnabled()) 395 { 396 this.__fullyQualifiedEntityName9aSet = true; 397 } 398 } 399 return fullyQualifiedEntityName9a; 400 } 401 402 /** 403 * @see SpringEntity#getFullyQualifiedEntityImplementationName() 404 * @return String 405 */ 406 protected abstract String handleGetFullyQualifiedEntityImplementationName(); 407 408 private String __fullyQualifiedEntityImplementationName10a; 409 private boolean __fullyQualifiedEntityImplementationName10aSet = false; 410 411 /** 412 * The fully qualified name of the entity implementation class. 413 * @return (String)handleGetFullyQualifiedEntityImplementationName() 414 */ 415 public final String getFullyQualifiedEntityImplementationName() 416 { 417 String fullyQualifiedEntityImplementationName10a = this.__fullyQualifiedEntityImplementationName10a; 418 if (!this.__fullyQualifiedEntityImplementationName10aSet) 419 { 420 // fullyQualifiedEntityImplementationName has no pre constraints 421 fullyQualifiedEntityImplementationName10a = handleGetFullyQualifiedEntityImplementationName(); 422 // fullyQualifiedEntityImplementationName has no post constraints 423 this.__fullyQualifiedEntityImplementationName10a = fullyQualifiedEntityImplementationName10a; 424 if (isMetafacadePropertyCachingEnabled()) 425 { 426 this.__fullyQualifiedEntityImplementationName10aSet = true; 427 } 428 } 429 return fullyQualifiedEntityImplementationName10a; 430 } 431 432 /** 433 * @see SpringEntity#getDaoBaseName() 434 * @return String 435 */ 436 protected abstract String handleGetDaoBaseName(); 437 438 private String __daoBaseName11a; 439 private boolean __daoBaseName11aSet = false; 440 441 /** 442 * The DAO base class name. This is the abstract DAO that contains CRUD operations 443 * as well as any generated finders defined on an entity. 444 * @return (String)handleGetDaoBaseName() 445 */ 446 public final String getDaoBaseName() 447 { 448 String daoBaseName11a = this.__daoBaseName11a; 449 if (!this.__daoBaseName11aSet) 450 { 451 // daoBaseName has no pre constraints 452 daoBaseName11a = handleGetDaoBaseName(); 453 // daoBaseName has no post constraints 454 this.__daoBaseName11a = daoBaseName11a; 455 if (isMetafacadePropertyCachingEnabled()) 456 { 457 this.__daoBaseName11aSet = true; 458 } 459 } 460 return daoBaseName11a; 461 } 462 463 /** 464 * @see SpringEntity#getDaoName() 465 * @return String 466 */ 467 protected abstract String handleGetDaoName(); 468 469 private String __daoName12a; 470 private boolean __daoName12aSet = false; 471 472 /** 473 * The name of the DAO for the specified entity. 474 * @return (String)handleGetDaoName() 475 */ 476 public final String getDaoName() 477 { 478 String daoName12a = this.__daoName12a; 479 if (!this.__daoName12aSet) 480 { 481 // daoName has no pre constraints 482 daoName12a = handleGetDaoName(); 483 // daoName has no post constraints 484 this.__daoName12a = daoName12a; 485 if (isMetafacadePropertyCachingEnabled()) 486 { 487 this.__daoName12aSet = true; 488 } 489 } 490 return daoName12a; 491 } 492 493 /** 494 * @see SpringEntity#getDaoImplementationName() 495 * @return String 496 */ 497 protected abstract String handleGetDaoImplementationName(); 498 499 private String __daoImplementationName13a; 500 private boolean __daoImplementationName13aSet = false; 501 502 /** 503 * The DAO implementation class name. 504 * @return (String)handleGetDaoImplementationName() 505 */ 506 public final String getDaoImplementationName() 507 { 508 String daoImplementationName13a = this.__daoImplementationName13a; 509 if (!this.__daoImplementationName13aSet) 510 { 511 // daoImplementationName has no pre constraints 512 daoImplementationName13a = handleGetDaoImplementationName(); 513 // daoImplementationName has no post constraints 514 this.__daoImplementationName13a = daoImplementationName13a; 515 if (isMetafacadePropertyCachingEnabled()) 516 { 517 this.__daoImplementationName13aSet = true; 518 } 519 } 520 return daoImplementationName13a; 521 } 522 523 /** 524 * @see SpringEntity#getEntityImplementationName() 525 * @return String 526 */ 527 protected abstract String handleGetEntityImplementationName(); 528 529 private String __entityImplementationName14a; 530 private boolean __entityImplementationName14aSet = false; 531 532 /** 533 * The implementation name for the entity. 534 * @return (String)handleGetEntityImplementationName() 535 */ 536 public final String getEntityImplementationName() 537 { 538 String entityImplementationName14a = this.__entityImplementationName14a; 539 if (!this.__entityImplementationName14aSet) 540 { 541 // entityImplementationName has no pre constraints 542 entityImplementationName14a = handleGetEntityImplementationName(); 543 // entityImplementationName has no post constraints 544 this.__entityImplementationName14a = entityImplementationName14a; 545 if (isMetafacadePropertyCachingEnabled()) 546 { 547 this.__entityImplementationName14aSet = true; 548 } 549 } 550 return entityImplementationName14a; 551 } 552 553 /** 554 * @see SpringEntity#getEntityName() 555 * @return String 556 */ 557 protected abstract String handleGetEntityName(); 558 559 private String __entityName15a; 560 private boolean __entityName15aSet = false; 561 562 /** 563 * The name of the plain entity name. 564 * @return (String)handleGetEntityName() 565 */ 566 public final String getEntityName() 567 { 568 String entityName15a = this.__entityName15a; 569 if (!this.__entityName15aSet) 570 { 571 // entityName has no pre constraints 572 entityName15a = handleGetEntityName(); 573 // entityName has no post constraints 574 this.__entityName15a = entityName15a; 575 if (isMetafacadePropertyCachingEnabled()) 576 { 577 this.__entityName15aSet = true; 578 } 579 } 580 return entityName15a; 581 } 582 583 /** 584 * @see SpringEntity#getFullyQualifiedDaoBaseName() 585 * @return String 586 */ 587 protected abstract String handleGetFullyQualifiedDaoBaseName(); 588 589 private String __fullyQualifiedDaoBaseName16a; 590 private boolean __fullyQualifiedDaoBaseName16aSet = false; 591 592 /** 593 * The fully qualified name of the base DAO. 594 * @return (String)handleGetFullyQualifiedDaoBaseName() 595 */ 596 public final String getFullyQualifiedDaoBaseName() 597 { 598 String fullyQualifiedDaoBaseName16a = this.__fullyQualifiedDaoBaseName16a; 599 if (!this.__fullyQualifiedDaoBaseName16aSet) 600 { 601 // fullyQualifiedDaoBaseName has no pre constraints 602 fullyQualifiedDaoBaseName16a = handleGetFullyQualifiedDaoBaseName(); 603 // fullyQualifiedDaoBaseName has no post constraints 604 this.__fullyQualifiedDaoBaseName16a = fullyQualifiedDaoBaseName16a; 605 if (isMetafacadePropertyCachingEnabled()) 606 { 607 this.__fullyQualifiedDaoBaseName16aSet = true; 608 } 609 } 610 return fullyQualifiedDaoBaseName16a; 611 } 612 613 /** 614 * @see SpringEntity#getFullyQualifiedDaoImplementationName() 615 * @return String 616 */ 617 protected abstract String handleGetFullyQualifiedDaoImplementationName(); 618 619 private String __fullyQualifiedDaoImplementationName17a; 620 private boolean __fullyQualifiedDaoImplementationName17aSet = false; 621 622 /** 623 * The fully qualified name of the DAO implemetation. 624 * @return (String)handleGetFullyQualifiedDaoImplementationName() 625 */ 626 public final String getFullyQualifiedDaoImplementationName() 627 { 628 String fullyQualifiedDaoImplementationName17a = this.__fullyQualifiedDaoImplementationName17a; 629 if (!this.__fullyQualifiedDaoImplementationName17aSet) 630 { 631 // fullyQualifiedDaoImplementationName has no pre constraints 632 fullyQualifiedDaoImplementationName17a = handleGetFullyQualifiedDaoImplementationName(); 633 // fullyQualifiedDaoImplementationName has no post constraints 634 this.__fullyQualifiedDaoImplementationName17a = fullyQualifiedDaoImplementationName17a; 635 if (isMetafacadePropertyCachingEnabled()) 636 { 637 this.__fullyQualifiedDaoImplementationName17aSet = true; 638 } 639 } 640 return fullyQualifiedDaoImplementationName17a; 641 } 642 643 /** 644 * @see SpringEntity#getFullyQualifiedDaoName() 645 * @return String 646 */ 647 protected abstract String handleGetFullyQualifiedDaoName(); 648 649 private String __fullyQualifiedDaoName18a; 650 private boolean __fullyQualifiedDaoName18aSet = false; 651 652 /** 653 * The fully qualified name of the DAO. 654 * @return (String)handleGetFullyQualifiedDaoName() 655 */ 656 public final String getFullyQualifiedDaoName() 657 { 658 String fullyQualifiedDaoName18a = this.__fullyQualifiedDaoName18a; 659 if (!this.__fullyQualifiedDaoName18aSet) 660 { 661 // fullyQualifiedDaoName has no pre constraints 662 fullyQualifiedDaoName18a = handleGetFullyQualifiedDaoName(); 663 // fullyQualifiedDaoName has no post constraints 664 this.__fullyQualifiedDaoName18a = fullyQualifiedDaoName18a; 665 if (isMetafacadePropertyCachingEnabled()) 666 { 667 this.__fullyQualifiedDaoName18aSet = true; 668 } 669 } 670 return fullyQualifiedDaoName18a; 671 } 672 673 /** 674 * @see SpringEntity#isRequiresHibernateMapping() 675 * @return boolean 676 */ 677 protected abstract boolean handleIsRequiresHibernateMapping(); 678 679 private boolean __requiresHibernateMapping19a; 680 private boolean __requiresHibernateMapping19aSet = false; 681 682 /** 683 * Indicates whether or not this entity requires a Hibernate mapping cfg.xml file within the 684 * Spring application context. 685 * @return (boolean)handleIsRequiresHibernateMapping() 686 */ 687 public final boolean isRequiresHibernateMapping() 688 { 689 boolean requiresHibernateMapping19a = this.__requiresHibernateMapping19a; 690 if (!this.__requiresHibernateMapping19aSet) 691 { 692 // requiresHibernateMapping has no pre constraints 693 requiresHibernateMapping19a = handleIsRequiresHibernateMapping(); 694 // requiresHibernateMapping has no post constraints 695 this.__requiresHibernateMapping19a = requiresHibernateMapping19a; 696 if (isMetafacadePropertyCachingEnabled()) 697 { 698 this.__requiresHibernateMapping19aSet = true; 699 } 700 } 701 return requiresHibernateMapping19a; 702 } 703 704 /** 705 * @see SpringEntity#getAttributeEmbeddedValueList() 706 * @return String 707 */ 708 protected abstract String handleGetAttributeEmbeddedValueList(); 709 710 private String __attributeEmbeddedValueList20a; 711 private boolean __attributeEmbeddedValueList20aSet = false; 712 713 /** 714 * A quoted comma separated list of the names of embedded values belonging to this entity (that 715 * represented as attributes) 716 * @return (String)handleGetAttributeEmbeddedValueList() 717 */ 718 public final String getAttributeEmbeddedValueList() 719 { 720 String attributeEmbeddedValueList20a = this.__attributeEmbeddedValueList20a; 721 if (!this.__attributeEmbeddedValueList20aSet) 722 { 723 // attributeEmbeddedValueList has no pre constraints 724 attributeEmbeddedValueList20a = handleGetAttributeEmbeddedValueList(); 725 // attributeEmbeddedValueList has no post constraints 726 this.__attributeEmbeddedValueList20a = attributeEmbeddedValueList20a; 727 if (isMetafacadePropertyCachingEnabled()) 728 { 729 this.__attributeEmbeddedValueList20aSet = true; 730 } 731 } 732 return attributeEmbeddedValueList20a; 733 } 734 735 /** 736 * @see SpringEntity#isRichClient() 737 * @return boolean 738 */ 739 protected abstract boolean handleIsRichClient(); 740 741 private boolean __richClient21a; 742 private boolean __richClient21aSet = false; 743 744 /** 745 * Returns true if this entity is meant to be used in a richt client application. 746 * @return (boolean)handleIsRichClient() 747 */ 748 public final boolean isRichClient() 749 { 750 boolean richClient21a = this.__richClient21a; 751 if (!this.__richClient21aSet) 752 { 753 // richClient has no pre constraints 754 richClient21a = handleIsRichClient(); 755 // richClient has no post constraints 756 this.__richClient21a = richClient21a; 757 if (isMetafacadePropertyCachingEnabled()) 758 { 759 this.__richClient21aSet = true; 760 } 761 } 762 return richClient21a; 763 } 764 765 // ---------------- business methods ---------------------- 766 767 /** 768 * Method to be implemented in descendants 769 * Gets the Spring bean name, and optionally adds a target suffix, if 'targetSuffix' is set to 770 * true. 771 * @param targetSuffix 772 * @return String 773 */ 774 protected abstract String handleGetBeanName(boolean targetSuffix); 775 776 /** 777 * Gets the Spring bean name, and optionally adds a target suffix, if 'targetSuffix' is set to 778 * true. 779 * @param targetSuffix boolean 780 * Whether or not to add a target suffix to the bean name. 781 * @return handleGetBeanName(targetSuffix) 782 */ 783 public String getBeanName(boolean targetSuffix) 784 { 785 // getBeanName has no pre constraints 786 String returnValue = handleGetBeanName(targetSuffix); 787 // getBeanName has no post constraints 788 return returnValue; 789 } 790 791 // ------------- associations ------------------ 792 793 /** 794 * Represents a Spring persistent entity 795 * @return (Collection<ClassifierFacade>)handleGetAllValueObjectReferences() 796 */ 797 public final Collection<ClassifierFacade> getAllValueObjectReferences() 798 { 799 Collection<ClassifierFacade> getAllValueObjectReferences1r = null; 800 // springEntity has no pre constraints 801 Collection result = handleGetAllValueObjectReferences(); 802 List shieldedResult = this.shieldedElements(result); 803 try 804 { 805 getAllValueObjectReferences1r = (Collection<ClassifierFacade>)shieldedResult; 806 } 807 catch (ClassCastException ex) 808 { 809 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 810 SpringEntityLogic.logger.warn("incorrect metafacade cast for SpringEntityLogic.getAllValueObjectReferences Collection<ClassifierFacade> " + result + ": " + shieldedResult); 811 } 812 // springEntity has no post constraints 813 return getAllValueObjectReferences1r; 814 } 815 816 /** 817 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type 818 * @return Collection 819 */ 820 protected abstract Collection handleGetAllValueObjectReferences(); 821 822 private Collection<SpringEntityOperation> __getDaoBusinessOperations2r; 823 private boolean __getDaoBusinessOperations2rSet = false; 824 825 /** 826 * Represents a Spring persistent entity 827 * @return (Collection<SpringEntityOperation>)handleGetDaoBusinessOperations() 828 */ 829 public final Collection<SpringEntityOperation> getDaoBusinessOperations() 830 { 831 Collection<SpringEntityOperation> getDaoBusinessOperations2r = this.__getDaoBusinessOperations2r; 832 if (!this.__getDaoBusinessOperations2rSet) 833 { 834 // springEntity has no pre constraints 835 Collection result = handleGetDaoBusinessOperations(); 836 List shieldedResult = this.shieldedElements(result); 837 try 838 { 839 getDaoBusinessOperations2r = (Collection<SpringEntityOperation>)shieldedResult; 840 } 841 catch (ClassCastException ex) 842 { 843 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 844 SpringEntityLogic.logger.warn("incorrect metafacade cast for SpringEntityLogic.getDaoBusinessOperations Collection<SpringEntityOperation> " + result + ": " + shieldedResult); 845 } 846 // springEntity has no post constraints 847 this.__getDaoBusinessOperations2r = getDaoBusinessOperations2r; 848 if (isMetafacadePropertyCachingEnabled()) 849 { 850 this.__getDaoBusinessOperations2rSet = true; 851 } 852 } 853 return getDaoBusinessOperations2r; 854 } 855 856 /** 857 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type 858 * @return Collection 859 */ 860 protected abstract Collection handleGetDaoBusinessOperations(); 861 862 private SpringEntity __getRoot3r; 863 private boolean __getRoot3rSet = false; 864 865 /** 866 * Represents a Spring persistent entity 867 * @return (SpringEntity)handleGetRoot() 868 */ 869 public final SpringEntity getRoot() 870 { 871 SpringEntity getRoot3r = this.__getRoot3r; 872 if (!this.__getRoot3rSet) 873 { 874 // springEntity has no pre constraints 875 Object result = handleGetRoot(); 876 MetafacadeBase shieldedResult = this.shieldedElement(result); 877 try 878 { 879 getRoot3r = (SpringEntity)shieldedResult; 880 } 881 catch (ClassCastException ex) 882 { 883 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 884 SpringEntityLogic.logger.warn("incorrect metafacade cast for SpringEntityLogic.getRoot SpringEntity " + result + ": " + shieldedResult); 885 } 886 // springEntity has no post constraints 887 this.__getRoot3r = getRoot3r; 888 if (isMetafacadePropertyCachingEnabled()) 889 { 890 this.__getRoot3rSet = true; 891 } 892 } 893 return getRoot3r; 894 } 895 896 /** 897 * UML Specific type is transformed by shieldedElements to AndroMDA Metafacade type 898 * @return Object 899 */ 900 protected abstract Object handleGetRoot(); 901 902 /** 903 * Represents a Spring persistent entity 904 * @return (Collection<ClassifierFacade>)handleGetValueObjectReferences() 905 */ 906 public final Collection<ClassifierFacade> getValueObjectReferences() 907 { 908 Collection<ClassifierFacade> getValueObjectReferences4r = null; 909 // springEntity has no pre constraints 910 Collection result = handleGetValueObjectReferences(); 911 List shieldedResult = this.shieldedElements(result); 912 try 913 { 914 getValueObjectReferences4r = (Collection<ClassifierFacade>)shieldedResult; 915 } 916 catch (ClassCastException ex) 917 { 918 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn 919 SpringEntityLogic.logger.warn("incorrect metafacade cast for SpringEntityLogic.getValueObjectReferences Collection<ClassifierFacade> " + result + ": " + shieldedResult); 920 } 921 // springEntity has no post constraints 922 return getValueObjectReferences4r; 923 } 924 925 /** 926 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type 927 * @return Collection 928 */ 929 protected abstract Collection handleGetValueObjectReferences(); 930 931 /** 932 * @return true 933 * @see Entity 934 */ 935 public boolean isEntityMetaType() 936 { 937 return true; 938 } 939 940 /** 941 * @return true 942 * @see ClassifierFacade 943 */ 944 public boolean isClassifierFacadeMetaType() 945 { 946 return true; 947 } 948 949 /** 950 * @return true 951 * @see GeneralizableElementFacade 952 */ 953 public boolean isGeneralizableElementFacadeMetaType() 954 { 955 return true; 956 } 957 958 /** 959 * @return true 960 * @see ModelElementFacade 961 */ 962 public boolean isModelElementFacadeMetaType() 963 { 964 return true; 965 } 966 967 // ----------- delegates to Entity ------------ 968 /** 969 * Return the attribute which name matches the parameter 970 * @see ClassifierFacade#findAttribute(String name) 971 */ 972 public AttributeFacade findAttribute(String name) 973 { 974 return this.getSuperEntity().findAttribute(name); 975 } 976 977 /** 978 * Those abstraction dependencies for which this classifier is the client. 979 * @see ClassifierFacade#getAbstractions() 980 */ 981 public Collection<ClassifierFacade> getAbstractions() 982 { 983 return this.getSuperEntity().getAbstractions(); 984 } 985 986 /** 987 * Lists all classes associated to this one and any ancestor classes (through generalization). 988 * There will be no duplicates. The order of the elements is predictable. 989 * @see ClassifierFacade#getAllAssociatedClasses() 990 */ 991 public Collection<ClassifierFacade> getAllAssociatedClasses() 992 { 993 return this.getSuperEntity().getAllAssociatedClasses(); 994 } 995 996 /** 997 * A collection containing all 'properties' of the classifier and its ancestors. Properties are 998 * any attributes and navigable connecting association ends. 999 * @see ClassifierFacade#getAllProperties() 1000 */ 1001 public Collection<ModelElementFacade> getAllProperties() 1002 { 1003 return this.getSuperEntity().getAllProperties(); 1004 } 1005 1006 /** 1007 * A collection containing all required and/or read-only 'properties' of the classifier and its 1008 * ancestors. Properties are any attributes and navigable connecting association ends. 1009 * @see ClassifierFacade#getAllRequiredConstructorParameters() 1010 */ 1011 public Collection<ModelElementFacade> getAllRequiredConstructorParameters() 1012 { 1013 return this.getSuperEntity().getAllRequiredConstructorParameters(); 1014 } 1015 1016 /** 1017 * Gets the array type for this classifier. If this classifier already represents an array, it 1018 * just returns itself. 1019 * @see ClassifierFacade#getArray() 1020 */ 1021 public ClassifierFacade getArray() 1022 { 1023 return this.getSuperEntity().getArray(); 1024 } 1025 1026 /** 1027 * The name of the classifier as an array. 1028 * @see ClassifierFacade#getArrayName() 1029 */ 1030 public String getArrayName() 1031 { 1032 return this.getSuperEntity().getArrayName(); 1033 } 1034 1035 /** 1036 * Lists the classes associated to this one, there is no repitition of classes. The order of the 1037 * elements is predictable. 1038 * @see ClassifierFacade#getAssociatedClasses() 1039 */ 1040 public Collection<ClassifierFacade> getAssociatedClasses() 1041 { 1042 return this.getSuperEntity().getAssociatedClasses(); 1043 } 1044 1045 /** 1046 * Gets the association ends belonging to a classifier. 1047 * @see ClassifierFacade#getAssociationEnds() 1048 */ 1049 public List<AssociationEndFacade> getAssociationEnds() 1050 { 1051 return this.getSuperEntity().getAssociationEnds(); 1052 } 1053 1054 /** 1055 * Gets the attributes that belong to the classifier. 1056 * @see ClassifierFacade#getAttributes() 1057 */ 1058 public List<AttributeFacade> getAttributes() 1059 { 1060 return this.getSuperEntity().getAttributes(); 1061 } 1062 1063 /** 1064 * Gets all attributes for the classifier and if 'follow' is true goes up the inheritance 1065 * hierarchy and gets the attributes from the super classes as well. 1066 * @see ClassifierFacade#getAttributes(boolean follow) 1067 */ 1068 public List<AttributeFacade> getAttributes(boolean follow) 1069 { 1070 return this.getSuperEntity().getAttributes(follow); 1071 } 1072 1073 /** 1074 * The fully qualified name of the classifier as an array. 1075 * @see ClassifierFacade#getFullyQualifiedArrayName() 1076 */ 1077 public String getFullyQualifiedArrayName() 1078 { 1079 return this.getSuperEntity().getFullyQualifiedArrayName(); 1080 } 1081 1082 /** 1083 * Returns all those operations that could be implemented at this classifier's level. This means 1084 * the operations owned by this classifier as well as any realized interface's operations 1085 * (recursively) in case this classifier itself is not already an interface, or generalized when 1086 * this classifier is an interface. 1087 * @see ClassifierFacade#getImplementationOperations() 1088 */ 1089 public Collection<OperationFacade> getImplementationOperations() 1090 { 1091 return this.getSuperEntity().getImplementationOperations(); 1092 } 1093 1094 /** 1095 * A comma separated list of the fully qualified names of all implemented interfaces. 1096 * @see ClassifierFacade#getImplementedInterfaceList() 1097 */ 1098 public String getImplementedInterfaceList() 1099 { 1100 return this.getSuperEntity().getImplementedInterfaceList(); 1101 } 1102 1103 /** 1104 * Those attributes that are scoped to an instance of this class. 1105 * @see ClassifierFacade#getInstanceAttributes() 1106 */ 1107 public Collection<AttributeFacade> getInstanceAttributes() 1108 { 1109 return this.getSuperEntity().getInstanceAttributes(); 1110 } 1111 1112 /** 1113 * Those operations that are scoped to an instance of this class. 1114 * @see ClassifierFacade#getInstanceOperations() 1115 */ 1116 public List<OperationFacade> getInstanceOperations() 1117 { 1118 return this.getSuperEntity().getInstanceOperations(); 1119 } 1120 1121 /** 1122 * Those interfaces that are abstractions of this classifier, this basically means this 1123 * classifier realizes them. 1124 * @see ClassifierFacade#getInterfaceAbstractions() 1125 */ 1126 public Collection<ClassifierFacade> getInterfaceAbstractions() 1127 { 1128 return this.getSuperEntity().getInterfaceAbstractions(); 1129 } 1130 1131 /** 1132 * A String representing a new Constructor declaration for this classifier type to be used in a 1133 * Java environment. 1134 * @see ClassifierFacade#getJavaNewString() 1135 */ 1136 public String getJavaNewString() 1137 { 1138 return this.getSuperEntity().getJavaNewString(); 1139 } 1140 1141 /** 1142 * A String representing the null-value for this classifier type to be used in a Java 1143 * environment. 1144 * @see ClassifierFacade#getJavaNullString() 1145 */ 1146 public String getJavaNullString() 1147 { 1148 return this.getSuperEntity().getJavaNullString(); 1149 } 1150 1151 /** 1152 * The other ends of this classifier's association ends which are navigable. 1153 * @see ClassifierFacade#getNavigableConnectingEnds() 1154 */ 1155 public Collection<AssociationEndFacade> getNavigableConnectingEnds() 1156 { 1157 return this.getSuperEntity().getNavigableConnectingEnds(); 1158 } 1159 1160 /** 1161 * Get the other ends of this classifier's association ends which are navigable and if 'follow' 1162 * is true goes up the inheritance hierarchy and gets the super association ends as well. 1163 * @see ClassifierFacade#getNavigableConnectingEnds(boolean follow) 1164 */ 1165 public List<AssociationEndFacade> getNavigableConnectingEnds(boolean follow) 1166 { 1167 return this.getSuperEntity().getNavigableConnectingEnds(follow); 1168 } 1169 1170 /** 1171 * Assuming that the classifier is an array, this will return the non array type of the 1172 * classifier from 1173 * the model. If the classifier is NOT an array, it will just return itself. 1174 * @see ClassifierFacade#getNonArray() 1175 */ 1176 public ClassifierFacade getNonArray() 1177 { 1178 return this.getSuperEntity().getNonArray(); 1179 } 1180 1181 /** 1182 * The attributes from this classifier in the form of an operation call (this example would be 1183 * in Java): '(String attributeOne, String attributeTwo). If there were no attributes on the 1184 * classifier, the result would be an empty '()'. 1185 * @see ClassifierFacade#getOperationCallFromAttributes() 1186 */ 1187 public String getOperationCallFromAttributes() 1188 { 1189 return this.getSuperEntity().getOperationCallFromAttributes(); 1190 } 1191 1192 /** 1193 * The operations owned by this classifier. 1194 * @see ClassifierFacade#getOperations() 1195 */ 1196 public List<OperationFacade> getOperations() 1197 { 1198 return this.getSuperEntity().getOperations(); 1199 } 1200 1201 /** 1202 * A collection containing all 'properties' of the classifier. Properties are any attributes 1203 * and navigable connecting association ends. 1204 * @see ClassifierFacade#getProperties() 1205 */ 1206 public List<ModelElementFacade> getProperties() 1207 { 1208 return this.getSuperEntity().getProperties(); 1209 } 1210 1211 /** 1212 * Gets all properties (attributes and navigable association ends) for the classifier and if 1213 * 'follow' is true goes up the inheritance hierarchy and gets the properties from the super 1214 * classes as well. 1215 * @see ClassifierFacade#getProperties(boolean follow) 1216 */ 1217 public List getProperties(boolean follow) 1218 { 1219 return this.getSuperEntity().getProperties(follow); 1220 } 1221 1222 /** 1223 * A collection containing all required and/or read-only 'properties' of the classifier. 1224 * Properties are any attributes and navigable connecting association ends. 1225 * @see ClassifierFacade#getRequiredConstructorParameters() 1226 */ 1227 public Collection<ModelElementFacade> getRequiredConstructorParameters() 1228 { 1229 return this.getSuperEntity().getRequiredConstructorParameters(); 1230 } 1231 1232 /** 1233 * Returns the serial version UID of the underlying model element. 1234 * @see ClassifierFacade#getSerialVersionUID() 1235 */ 1236 public long getSerialVersionUID() 1237 { 1238 return this.getSuperEntity().getSerialVersionUID(); 1239 } 1240 1241 /** 1242 * Those attributes that are scoped to the definition of this class. 1243 * @see ClassifierFacade#getStaticAttributes() 1244 */ 1245 public Collection<AttributeFacade> getStaticAttributes() 1246 { 1247 return this.getSuperEntity().getStaticAttributes(); 1248 } 1249 1250 /** 1251 * Those operations that are scoped to the definition of this class. 1252 * @see ClassifierFacade#getStaticOperations() 1253 */ 1254 public List<OperationFacade> getStaticOperations() 1255 { 1256 return this.getSuperEntity().getStaticOperations(); 1257 } 1258 1259 /** 1260 * This class' superclass, returns the generalization if it is a ClassifierFacade, null 1261 * otherwise. 1262 * @see ClassifierFacade#getSuperClass() 1263 */ 1264 public ClassifierFacade getSuperClass() 1265 { 1266 return this.getSuperEntity().getSuperClass(); 1267 } 1268 1269 /** 1270 * The wrapper name for this classifier if a mapped type has a defined wrapper class (ie. 'long' 1271 * maps to 'Long'). If the classifier doesn't have a wrapper defined for it, this method will 1272 * return a null. Note that wrapper mappings must be defined for the namespace by defining the 1273 * 'wrapperMappingsUri', this property must point to the location of the mappings file which 1274 * maps the primitives to wrapper types. 1275 * @see ClassifierFacade#getWrapperName() 1276 */ 1277 public String getWrapperName() 1278 { 1279 return this.getSuperEntity().getWrapperName(); 1280 } 1281 1282 /** 1283 * Indicates if this classifier is 'abstract'. 1284 * @see ClassifierFacade#isAbstract() 1285 */ 1286 public boolean isAbstract() 1287 { 1288 return this.getSuperEntity().isAbstract(); 1289 } 1290 1291 /** 1292 * True if this classifier represents an array type. False otherwise. 1293 * @see ClassifierFacade#isArrayType() 1294 */ 1295 public boolean isArrayType() 1296 { 1297 return this.getSuperEntity().isArrayType(); 1298 } 1299 1300 /** 1301 * True if the ClassifierFacade is an AssociationClass. 1302 * @see ClassifierFacade#isAssociationClass() 1303 */ 1304 public boolean isAssociationClass() 1305 { 1306 return this.getSuperEntity().isAssociationClass(); 1307 } 1308 1309 /** 1310 * Returns true if this type represents a Blob type. 1311 * @see ClassifierFacade#isBlobType() 1312 */ 1313 public boolean isBlobType() 1314 { 1315 return this.getSuperEntity().isBlobType(); 1316 } 1317 1318 /** 1319 * Indicates if this type represents a boolean type or not. 1320 * @see ClassifierFacade#isBooleanType() 1321 */ 1322 public boolean isBooleanType() 1323 { 1324 return this.getSuperEntity().isBooleanType(); 1325 } 1326 1327 /** 1328 * Indicates if this type represents a char, Character, or java.lang.Character type or not. 1329 * @see ClassifierFacade#isCharacterType() 1330 */ 1331 public boolean isCharacterType() 1332 { 1333 return this.getSuperEntity().isCharacterType(); 1334 } 1335 1336 /** 1337 * Returns true if this type represents a Clob type. 1338 * @see ClassifierFacade#isClobType() 1339 */ 1340 public boolean isClobType() 1341 { 1342 return this.getSuperEntity().isClobType(); 1343 } 1344 1345 /** 1346 * True if this classifier represents a collection type. False otherwise. 1347 * @see ClassifierFacade#isCollectionType() 1348 */ 1349 public boolean isCollectionType() 1350 { 1351 return this.getSuperEntity().isCollectionType(); 1352 } 1353 1354 /** 1355 * True/false depending on whether or not this classifier represents a datatype. A data type is 1356 * a type whose instances are identified only by their value. A data type may contain attributes 1357 * to support the modeling of structured data types. 1358 * @see ClassifierFacade#isDataType() 1359 */ 1360 public boolean isDataType() 1361 { 1362 return this.getSuperEntity().isDataType(); 1363 } 1364 1365 /** 1366 * True when this classifier is a date type. 1367 * @see ClassifierFacade#isDateType() 1368 */ 1369 public boolean isDateType() 1370 { 1371 return this.getSuperEntity().isDateType(); 1372 } 1373 1374 /** 1375 * Indicates if this type represents a Double type or not. 1376 * @see ClassifierFacade#isDoubleType() 1377 */ 1378 public boolean isDoubleType() 1379 { 1380 return this.getSuperEntity().isDoubleType(); 1381 } 1382 1383 /** 1384 * Indicates whether or not this classifier represents an "EmbeddedValue'. 1385 * @see ClassifierFacade#isEmbeddedValue() 1386 */ 1387 public boolean isEmbeddedValue() 1388 { 1389 return this.getSuperEntity().isEmbeddedValue(); 1390 } 1391 1392 /** 1393 * True if this classifier is in fact marked as an enumeration. 1394 * @see ClassifierFacade#isEnumeration() 1395 */ 1396 public boolean isEnumeration() 1397 { 1398 return this.getSuperEntity().isEnumeration(); 1399 } 1400 1401 /** 1402 * Returns true if this type represents a 'file' type. 1403 * @see ClassifierFacade#isFileType() 1404 */ 1405 public boolean isFileType() 1406 { 1407 return this.getSuperEntity().isFileType(); 1408 } 1409 1410 /** 1411 * Indicates if this type represents a Float type or not. 1412 * @see ClassifierFacade#isFloatType() 1413 */ 1414 public boolean isFloatType() 1415 { 1416 return this.getSuperEntity().isFloatType(); 1417 } 1418 1419 /** 1420 * Indicates if this type represents an int or Integer or java.lang.Integer type or not. 1421 * @see ClassifierFacade#isIntegerType() 1422 */ 1423 public boolean isIntegerType() 1424 { 1425 return this.getSuperEntity().isIntegerType(); 1426 } 1427 1428 /** 1429 * True/false depending on whether or not this Classifier represents an interface. 1430 * @see ClassifierFacade#isInterface() 1431 */ 1432 public boolean isInterface() 1433 { 1434 return this.getSuperEntity().isInterface(); 1435 } 1436 1437 /** 1438 * True if this classifier cannot be extended and represent a leaf in the inheritance tree. 1439 * @see ClassifierFacade#isLeaf() 1440 */ 1441 public boolean isLeaf() 1442 { 1443 return this.getSuperEntity().isLeaf(); 1444 } 1445 1446 /** 1447 * True if this classifier represents a list type. False otherwise. 1448 * @see ClassifierFacade#isListType() 1449 */ 1450 public boolean isListType() 1451 { 1452 return this.getSuperEntity().isListType(); 1453 } 1454 1455 /** 1456 * Indicates if this type represents a Long type or not. 1457 * @see ClassifierFacade#isLongType() 1458 */ 1459 public boolean isLongType() 1460 { 1461 return this.getSuperEntity().isLongType(); 1462 } 1463 1464 /** 1465 * Indicates whether or not this classifier represents a Map type. 1466 * @see ClassifierFacade#isMapType() 1467 */ 1468 public boolean isMapType() 1469 { 1470 return this.getSuperEntity().isMapType(); 1471 } 1472 1473 /** 1474 * Indicates whether or not this classifier represents a primitive type. 1475 * @see ClassifierFacade#isPrimitive() 1476 */ 1477 public boolean isPrimitive() 1478 { 1479 return this.getSuperEntity().isPrimitive(); 1480 } 1481 1482 /** 1483 * True if this classifier represents a set type. False otherwise. 1484 * @see ClassifierFacade#isSetType() 1485 */ 1486 public boolean isSetType() 1487 { 1488 return this.getSuperEntity().isSetType(); 1489 } 1490 1491 /** 1492 * Indicates whether or not this classifier represents a string type. 1493 * @see ClassifierFacade#isStringType() 1494 */ 1495 public boolean isStringType() 1496 { 1497 return this.getSuperEntity().isStringType(); 1498 } 1499 1500 /** 1501 * Indicates whether or not this classifier represents a time type. 1502 * @see ClassifierFacade#isTimeType() 1503 */ 1504 public boolean isTimeType() 1505 { 1506 return this.getSuperEntity().isTimeType(); 1507 } 1508 1509 /** 1510 * Returns true if this type is a wrapped primitive type. 1511 * @see ClassifierFacade#isWrappedPrimitive() 1512 */ 1513 public boolean isWrappedPrimitive() 1514 { 1515 return this.getSuperEntity().isWrappedPrimitive(); 1516 } 1517 1518 /** 1519 * Returns a collection of all entities this entity and its ancestors have a relation to. 1520 * @see Entity#getAllEntityReferences() 1521 */ 1522 public Collection<DependencyFacade> getAllEntityReferences() 1523 { 1524 return this.getSuperEntity().getAllEntityReferences(); 1525 } 1526 1527 /** 1528 * Gets a comma separated list of attribute names. If 'follow' is true, will travel up the 1529 * inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers' 1530 * is true, will include identifiers. 1531 * @see Entity#getAttributeNameList(boolean follow, boolean withIdentifiers) 1532 */ 1533 public String getAttributeNameList(boolean follow, boolean withIdentifiers) 1534 { 1535 return this.getSuperEntity().getAttributeNameList(follow, withIdentifiers); 1536 } 1537 1538 /** 1539 * Gets a comma separated list of attribute names. If 'follow' is true, will travel up the 1540 * inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers' 1541 * is true, will include identifiers and if 'withDerived' is set to true, will include derived 1542 * attributes. 1543 * @see Entity#getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived) 1544 */ 1545 public String getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived) 1546 { 1547 return this.getSuperEntity().getAttributeNameList(follow, withIdentifiers, withDerived); 1548 } 1549 1550 /** 1551 * Gets a comma separated list of attribute types. If 'follow' is true, will travel up the 1552 * inheritance hierarchy to include attributes in parent entities as well. If 'withIdentifiers' 1553 * is true, will include identifiers. 1554 * @see Entity#getAttributeTypeList(boolean follow, boolean withIdentifiers) 1555 */ 1556 public String getAttributeTypeList(boolean follow, boolean withIdentifiers) 1557 { 1558 return this.getSuperEntity().getAttributeTypeList(follow, withIdentifiers); 1559 } 1560 1561 /** 1562 * Gets all attributes of the entity, and optionally retieves the super entities attributes as 1563 * well as excludes the entity's identifiers if 'withIdentifiers' is set to false. 1564 * @see Entity#getAttributes(boolean follow, boolean withIdentifiers) 1565 */ 1566 public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers) 1567 { 1568 return this.getSuperEntity().getAttributes(follow, withIdentifiers); 1569 } 1570 1571 /** 1572 * Gets all attributes of the entity, and optionally retieves the super entities attributes as 1573 * well as excludes the entity's identifiers if 'withIdentifiers' is set to false and exclude 1574 * derived attributes if 'withDerived' is set to false. 1575 * @see Entity#getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived) 1576 */ 1577 public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived) 1578 { 1579 return this.getSuperEntity().getAttributes(follow, withIdentifiers, withDerived); 1580 } 1581 1582 /** 1583 * All business operations of the entity, these include any operations that aren't queries. 1584 * @see Entity#getBusinessOperations() 1585 */ 1586 public Collection<OperationFacade> getBusinessOperations() 1587 { 1588 return this.getSuperEntity().getBusinessOperations(); 1589 } 1590 1591 /** 1592 * Gets any children association ends (i.e. entity association ends that are participants in an 1593 * association with this entity and this entity has composite aggregation defined for those 1594 * associations). 1595 * @see Entity#getChildEnds() 1596 */ 1597 public Collection<EntityAssociationEnd> getChildEnds() 1598 { 1599 return this.getSuperEntity().getChildEnds(); 1600 } 1601 1602 /** 1603 * The embedded values belonging to this entity. 1604 * @see Entity#getEmbeddedValues() 1605 */ 1606 public Collection<AttributeFacade> getEmbeddedValues() 1607 { 1608 return this.getSuperEntity().getEmbeddedValues(); 1609 } 1610 1611 /** 1612 * All entities referenced by this entity. 1613 * @see Entity#getEntityReferences() 1614 */ 1615 public Collection<DependencyFacade> getEntityReferences() 1616 { 1617 return this.getSuperEntity().getEntityReferences(); 1618 } 1619 1620 /** 1621 * The full name of the type of the identifier. If composite identifier add the PK sufix to the 1622 * class name. If not, retorns the fully qualified name of the identifier. 1623 * @see Entity#getFullyQualifiedIdentifierTypeName() 1624 */ 1625 public String getFullyQualifiedIdentifierTypeName() 1626 { 1627 return this.getSuperEntity().getFullyQualifiedIdentifierTypeName(); 1628 } 1629 1630 /** 1631 * Gets all the associationEnds of this entity marked with the identifiers stereotype. 1632 * @see Entity#getIdentifierAssociationEnds() 1633 */ 1634 public Collection<AssociationEndFacade> getIdentifierAssociationEnds() 1635 { 1636 return this.getSuperEntity().getIdentifierAssociationEnds(); 1637 } 1638 1639 /** 1640 * The getter name of the identifier. 1641 * @see Entity#getIdentifierGetterName() 1642 */ 1643 public String getIdentifierGetterName() 1644 { 1645 return this.getSuperEntity().getIdentifierGetterName(); 1646 } 1647 1648 /** 1649 * The name of the identifier. If composite identifier add the Pk suffix. If not composite 1650 * returns the attribute name of the identifier. 1651 * @see Entity#getIdentifierName() 1652 */ 1653 public String getIdentifierName() 1654 { 1655 return this.getSuperEntity().getIdentifierName(); 1656 } 1657 1658 /** 1659 * The setter name of the identifier. 1660 * @see Entity#getIdentifierSetterName() 1661 */ 1662 public String getIdentifierSetterName() 1663 { 1664 return this.getSuperEntity().getIdentifierSetterName(); 1665 } 1666 1667 /** 1668 * The name of the type of the identifier. If composite identifier add the PK suffix to the 1669 * class name. If not, returns the name of the identifier. 1670 * @see Entity#getIdentifierTypeName() 1671 */ 1672 public String getIdentifierTypeName() 1673 { 1674 return this.getSuperEntity().getIdentifierTypeName(); 1675 } 1676 1677 /** 1678 * All the attributes of the entity which make up its identifier (primary key). Will search any 1679 * super classes as well. If no identifiers exist, a default identifier will be created if the 1680 * allowDefaultIdentifiers property is set to true. 1681 * @see Entity#getIdentifiers() 1682 */ 1683 public Collection<ModelElementFacade> getIdentifiers() 1684 { 1685 return this.getSuperEntity().getIdentifiers(); 1686 } 1687 1688 /** 1689 * Gets all identifiers for an entity. If 'follow' is true, and if no identifiers can be found 1690 * on the entity, a search up the inheritance chain will be performed, and the identifiers from 1691 * the first super class having them will be used. If no identifiers exist, a default 1692 * identifier will be created if the allowDefaultIdentifiers property is set to true. 1693 * Identifiers can be on attributes or associations (composite primary key). 1694 * @see Entity#getIdentifiers(boolean follow) 1695 */ 1696 public Collection<ModelElementFacade> getIdentifiers(boolean follow) 1697 { 1698 return this.getSuperEntity().getIdentifiers(follow); 1699 } 1700 1701 /** 1702 * The maximum length a SQL name may be. 1703 * @see Entity#getMaxSqlNameLength() 1704 */ 1705 public short getMaxSqlNameLength() 1706 { 1707 return this.getSuperEntity().getMaxSqlNameLength(); 1708 } 1709 1710 /** 1711 * Gets the attributes as a list within an operation call, optionally including the type names 1712 * and the identifier attributes. 1713 * @see Entity#getOperationCallFromAttributes(boolean withIdentifiers) 1714 */ 1715 public String getOperationCallFromAttributes(boolean withIdentifiers) 1716 { 1717 return this.getSuperEntity().getOperationCallFromAttributes(withIdentifiers); 1718 } 1719 1720 /** 1721 * Gets the attributes as a list within an operation call. If 'withTypeNames' is true, it will 1722 * include the type names, if 'withIdentifiers' is true it will include the identifiers. If 1723 * 'follow' is true it will follow the inheritance hierarchy and get the attributes of the super 1724 * class as well. 1725 * @see Entity#getOperationCallFromAttributes(boolean withIdentifiers, boolean follow) 1726 */ 1727 public String getOperationCallFromAttributes(boolean withIdentifiers, boolean follow) 1728 { 1729 return this.getSuperEntity().getOperationCallFromAttributes(withIdentifiers, follow); 1730 } 1731 1732 /** 1733 * Returns the parent association end of this entity if its a child entity. The parent is the 1734 * entity that is the participant the association that has composite aggregation defined. Will 1735 * return null if the entity has no parent. 1736 * @see Entity#getParentEnd() 1737 */ 1738 public EntityAssociationEnd getParentEnd() 1739 { 1740 return this.getSuperEntity().getParentEnd(); 1741 } 1742 1743 /** 1744 * Gets all properties of this entity, this includes the attributes and navigable association 1745 * ends of the entity. The 'follow' flag indcates whether or not the inheritance hierarchy 1746 * should be followed when getting all the properties. The 'withIdentifiers' flag indicates 1747 * whether or not identifiers should be included in the collection of properties. 1748 * @see Entity#getProperties(boolean follow, boolean withIdentifiers) 1749 */ 1750 public Collection<ModelElementFacade> getProperties(boolean follow, boolean withIdentifiers) 1751 { 1752 return this.getSuperEntity().getProperties(follow, withIdentifiers); 1753 } 1754 1755 /** 1756 * Returns all the operations that can perform queries on the entity. 1757 * @see Entity#getQueryOperations() 1758 */ 1759 public Collection<EntityQueryOperation> getQueryOperations() 1760 { 1761 return this.getSuperEntity().getQueryOperations(); 1762 } 1763 1764 /** 1765 * Gets all query operations for an entity. If 'follow' is true, and if no query operations can 1766 * be found on the entity, a search up the inheritance chain will be performed, and the 1767 * identifiers from the first super class having them will be used. If no identifiers exist, a 1768 * default identifier will be created if the allowDefaultIdentifiers property is set to true. 1769 * @see Entity#getQueryOperations(boolean follow) 1770 */ 1771 public Collection<OperationFacade> getQueryOperations(boolean follow) 1772 { 1773 return this.getSuperEntity().getQueryOperations(follow); 1774 } 1775 1776 /** 1777 * Gets a comma separated list of required attribute names. If 'follow' is true, will travel up 1778 * the inheritance hierarchy to include attributes in parent entities as well. If 1779 * 'withIdentifiers' is true, will include identifiers. 1780 * @see Entity#getRequiredAttributeNameList(boolean follow, boolean withIdentifiers) 1781 */ 1782 public String getRequiredAttributeNameList(boolean follow, boolean withIdentifiers) 1783 { 1784 return this.getSuperEntity().getRequiredAttributeNameList(follow, withIdentifiers); 1785 } 1786 1787 /** 1788 * Gets a comma separated list of attribute types with are required. If 'follow' is true, will 1789 * travel up the inheritance hierarchy to include attributes in parent entities as well. If 1790 * 'withIdentifiers' is true, will include identifiers. 1791 * @see Entity#getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers) 1792 */ 1793 public String getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers) 1794 { 1795 return this.getSuperEntity().getRequiredAttributeTypeList(follow, withIdentifiers); 1796 } 1797 1798 /** 1799 * Returns all attributes that are specified as 'required' in the model. If 'follow' is true, 1800 * then required attributes in super classes will also be returned, if false, just the ones 1801 * directly on the entity will be returned. If 'withIdentifiers' is true, the identifiers will 1802 * be include, if false, no identifiers will be included. 1803 * @see Entity#getRequiredAttributes(boolean follow, boolean withIdentifiers) 1804 */ 1805 public Collection<AttributeFacade> getRequiredAttributes(boolean follow, boolean withIdentifiers) 1806 { 1807 return this.getSuperEntity().getRequiredAttributes(follow, withIdentifiers); 1808 } 1809 1810 /** 1811 * Gets all required properties for this entity. These consist of any required attributes as 1812 * well as navigable associations that are marked as 'required'. If 'follow' is true, then the 1813 * inheritance hierchy will be followed and all required properties from super classes will be 1814 * included as well. 1815 * If 'withIdentifiers' is true, the identifiers will be include, if false, no identifiers will 1816 * be included. 1817 * @see Entity#getRequiredProperties(boolean follow, boolean withIdentifiers) 1818 */ 1819 public Collection<ModelElementFacade> getRequiredProperties(boolean follow, boolean withIdentifiers) 1820 { 1821 return this.getSuperEntity().getRequiredProperties(follow, withIdentifiers); 1822 } 1823 1824 /** 1825 * Creates a comma separated list of the required property names. 1826 * @see Entity#getRequiredPropertyNameList(boolean follow, boolean withIdentifiers) 1827 */ 1828 public String getRequiredPropertyNameList(boolean follow, boolean withIdentifiers) 1829 { 1830 return this.getSuperEntity().getRequiredPropertyNameList(follow, withIdentifiers); 1831 } 1832 1833 /** 1834 * A comma separated list of the required property types. 1835 * @see Entity#getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers) 1836 */ 1837 public String getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers) 1838 { 1839 return this.getSuperEntity().getRequiredPropertyTypeList(follow, withIdentifiers); 1840 } 1841 1842 /** 1843 * The name of the schema that contains the database table 1844 * @see Entity#getSchema() 1845 */ 1846 public String getSchema() 1847 { 1848 return this.getSuperEntity().getSchema(); 1849 } 1850 1851 /** 1852 * The name of the database table to which this entity is persisted. 1853 * @see Entity#getTableName() 1854 */ 1855 public String getTableName() 1856 { 1857 return this.getSuperEntity().getTableName(); 1858 } 1859 1860 /** 1861 * Returns true/false depending on whether or not this entity represetns a child in an 1862 * association (this occurs when this entity is on the opposite end of an assocation end defined 1863 * as composite). 1864 * @see Entity#isChild() 1865 */ 1866 public boolean isChild() 1867 { 1868 return this.getSuperEntity().isChild(); 1869 } 1870 1871 /** 1872 * True if this entity identifier is a composite (consists of multiple key columns, typically 1873 * abstracted into an external composite identifier class) 1874 * @see Entity#isCompositeIdentifier() 1875 */ 1876 public boolean isCompositeIdentifier() 1877 { 1878 return this.getSuperEntity().isCompositeIdentifier(); 1879 } 1880 1881 /** 1882 * True if the entity has its identifiers dynamically added, false otherwise. 1883 * @see Entity#isDynamicIdentifiersPresent() 1884 */ 1885 public boolean isDynamicIdentifiersPresent() 1886 { 1887 return this.getSuperEntity().isDynamicIdentifiersPresent(); 1888 } 1889 1890 /** 1891 * True if the entity has any identifiers defined, false otherwise. 1892 * @see Entity#isIdentifiersPresent() 1893 */ 1894 public boolean isIdentifiersPresent() 1895 { 1896 return this.getSuperEntity().isIdentifiersPresent(); 1897 } 1898 1899 /** 1900 * Indiciates if this entity is using an assigned identifier or not. 1901 * @see Entity#isUsingAssignedIdentifier() 1902 */ 1903 public boolean isUsingAssignedIdentifier() 1904 { 1905 return this.getSuperEntity().isUsingAssignedIdentifier(); 1906 } 1907 1908 /** 1909 * Indicates whether or not this entity is using a foreign identifier as its identifiers. That 1910 * is: the foreignIdentifier flag was set on an incoming association end and the entity is 1911 * therefore using the related foreign parent entity's identifier. 1912 * @see Entity#isUsingForeignIdentifier() 1913 */ 1914 public boolean isUsingForeignIdentifier() 1915 { 1916 return this.getSuperEntity().isUsingForeignIdentifier(); 1917 } 1918 1919 /** 1920 * Finds the tagged value optional searching the entire inheritance hierarchy if 'follow' is set 1921 * to true. 1922 * @see GeneralizableElementFacade#findTaggedValue(String tagName, boolean follow) 1923 */ 1924 public Object findTaggedValue(String tagName, boolean follow) 1925 { 1926 return this.getSuperEntity().findTaggedValue(tagName, follow); 1927 } 1928 1929 /** 1930 * All generalizations for this generalizable element, goes up the inheritance tree. 1931 * @see GeneralizableElementFacade#getAllGeneralizations() 1932 */ 1933 public Collection<GeneralizableElementFacade> getAllGeneralizations() 1934 { 1935 return this.getSuperEntity().getAllGeneralizations(); 1936 } 1937 1938 /** 1939 * All specializations (travels down the inheritance hierarchy). 1940 * @see GeneralizableElementFacade#getAllSpecializations() 1941 */ 1942 public Collection<GeneralizableElementFacade> getAllSpecializations() 1943 { 1944 return this.getSuperEntity().getAllSpecializations(); 1945 } 1946 1947 /** 1948 * Gets the direct generalization for this generalizable element. 1949 * @see GeneralizableElementFacade#getGeneralization() 1950 */ 1951 public GeneralizableElementFacade getGeneralization() 1952 { 1953 return this.getSuperEntity().getGeneralization(); 1954 } 1955 1956 /** 1957 * Gets the actual links that this generalization element is part of (it plays either the 1958 * specialization or generalization). 1959 * @see GeneralizableElementFacade#getGeneralizationLinks() 1960 */ 1961 public Collection<GeneralizationFacade> getGeneralizationLinks() 1962 { 1963 return this.getSuperEntity().getGeneralizationLinks(); 1964 } 1965 1966 /** 1967 * A comma separated list of the fully qualified names of all generalizations. 1968 * @see GeneralizableElementFacade#getGeneralizationList() 1969 */ 1970 public String getGeneralizationList() 1971 { 1972 return this.getSuperEntity().getGeneralizationList(); 1973 } 1974 1975 /** 1976 * The element found when you recursively follow the generalization path up to the root. If an 1977 * element has no generalization itself will be considered the root. 1978 * @see GeneralizableElementFacade#getGeneralizationRoot() 1979 */ 1980 public GeneralizableElementFacade getGeneralizationRoot() 1981 { 1982 return this.getSuperEntity().getGeneralizationRoot(); 1983 } 1984 1985 /** 1986 * Return all generalizations (ancestors) from this generalizable element. 1987 * @see GeneralizableElementFacade#getGeneralizations() 1988 */ 1989 public Collection<GeneralizableElementFacade> getGeneralizations() 1990 { 1991 return this.getSuperEntity().getGeneralizations(); 1992 } 1993 1994 /** 1995 * Gets the direct specializations (i.e. sub elements) for this generalizatble element. 1996 * @see GeneralizableElementFacade#getSpecializations() 1997 */ 1998 public Collection<GeneralizableElementFacade> getSpecializations() 1999 { 2000 return this.getSuperEntity().getSpecializations(); 2001 } 2002 2003 /** 2004 * Copies all tagged values from the given ModelElementFacade to this model element facade. 2005 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element) 2006 */ 2007 public void copyTaggedValues(ModelElementFacade element) 2008 { 2009 this.getSuperEntity().copyTaggedValues(element); 2010 } 2011 2012 /** 2013 * Finds the tagged value with the specified 'tagName'. In case there are more values the first 2014 * one found will be returned. 2015 * @see ModelElementFacade#findTaggedValue(String tagName) 2016 */ 2017 public Object findTaggedValue(String tagName) 2018 { 2019 return this.getSuperEntity().findTaggedValue(tagName); 2020 } 2021 2022 /** 2023 * Returns all the values for the tagged value with the specified name. The returned collection 2024 * will contains only String instances, or will be empty. Never null. 2025 * @see ModelElementFacade#findTaggedValues(String tagName) 2026 */ 2027 public Collection<Object> findTaggedValues(String tagName) 2028 { 2029 return this.getSuperEntity().findTaggedValues(tagName); 2030 } 2031 2032 /** 2033 * Returns the fully qualified name of the model element. The fully qualified name includes 2034 * complete package qualified name of the underlying model element. The templates parameter will 2035 * be replaced by the correct one given the binding relation of the parameter to this element. 2036 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement) 2037 */ 2038 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement) 2039 { 2040 return this.getSuperEntity().getBindedFullyQualifiedName(bindedElement); 2041 } 2042 2043 /** 2044 * Gets all constraints belonging to the model element. 2045 * @see ModelElementFacade#getConstraints() 2046 */ 2047 public Collection<ConstraintFacade> getConstraints() 2048 { 2049 return this.getSuperEntity().getConstraints(); 2050 } 2051 2052 /** 2053 * Returns the constraints of the argument kind that have been placed onto this model. Typical 2054 * kinds are "inv", "pre" and "post". Other kinds are possible. 2055 * @see ModelElementFacade#getConstraints(String kind) 2056 */ 2057 public Collection<ConstraintFacade> getConstraints(String kind) 2058 { 2059 return this.getSuperEntity().getConstraints(kind); 2060 } 2061 2062 /** 2063 * Gets the documentation for the model element, The indent argument is prefixed to each line. 2064 * By default this method wraps lines after 64 characters. 2065 * This method is equivalent to <code>getDocumentation(indent, 64)</code>. 2066 * @see ModelElementFacade#getDocumentation(String indent) 2067 */ 2068 public String getDocumentation(String indent) 2069 { 2070 return this.getSuperEntity().getDocumentation(indent); 2071 } 2072 2073 /** 2074 * This method returns the documentation for this model element, with the lines wrapped after 2075 * the specified number of characters, values of less than 1 will indicate no line wrapping is 2076 * required. By default paragraphs are returned as HTML. 2077 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>. 2078 * @see ModelElementFacade#getDocumentation(String indent, int lineLength) 2079 */ 2080 public String getDocumentation(String indent, int lineLength) 2081 { 2082 return this.getSuperEntity().getDocumentation(indent, lineLength); 2083 } 2084 2085 /** 2086 * This method returns the documentation for this model element, with the lines wrapped after 2087 * the specified number of characters, values of less than 1 will indicate no line wrapping is 2088 * required. HTML style determines if HTML Escaping is applied. 2089 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle) 2090 */ 2091 public String getDocumentation(String indent, int lineLength, boolean htmlStyle) 2092 { 2093 return this.getSuperEntity().getDocumentation(indent, lineLength, htmlStyle); 2094 } 2095 2096 /** 2097 * The fully qualified name of this model element. 2098 * @see ModelElementFacade#getFullyQualifiedName() 2099 */ 2100 public String getFullyQualifiedName() 2101 { 2102 return this.getSuperEntity().getFullyQualifiedName(); 2103 } 2104 2105 /** 2106 * Returns the fully qualified name of the model element. The fully qualified name includes 2107 * complete package qualified name of the underlying model element. If modelName is true, then 2108 * the original name of the model element (the name contained within the model) will be the name 2109 * returned, otherwise a name from a language mapping will be returned. 2110 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName) 2111 */ 2112 public String getFullyQualifiedName(boolean modelName) 2113 { 2114 return this.getSuperEntity().getFullyQualifiedName(modelName); 2115 } 2116 2117 /** 2118 * Returns the fully qualified name as a path, the returned value always starts with out a slash 2119 * '/'. 2120 * @see ModelElementFacade#getFullyQualifiedNamePath() 2121 */ 2122 public String getFullyQualifiedNamePath() 2123 { 2124 return this.getSuperEntity().getFullyQualifiedNamePath(); 2125 } 2126 2127 /** 2128 * Gets the unique identifier of the underlying model element. 2129 * @see ModelElementFacade#getId() 2130 */ 2131 public String getId() 2132 { 2133 return this.getSuperEntity().getId(); 2134 } 2135 2136 /** 2137 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which 2138 * are not represented by other properties, i.e. native, transient, volatile, synchronized, 2139 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings: 2140 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require 2141 * JDK5 compiler level. 2142 * @see ModelElementFacade#getKeywords() 2143 */ 2144 public Collection<String> getKeywords() 2145 { 2146 return this.getSuperEntity().getKeywords(); 2147 } 2148 2149 /** 2150 * UML2: Retrieves a localized label for this named element. 2151 * @see ModelElementFacade#getLabel() 2152 */ 2153 public String getLabel() 2154 { 2155 return this.getSuperEntity().getLabel(); 2156 } 2157 2158 /** 2159 * The language mappings that have been set for this model element. 2160 * @see ModelElementFacade#getLanguageMappings() 2161 */ 2162 public TypeMappings getLanguageMappings() 2163 { 2164 return this.getSuperEntity().getLanguageMappings(); 2165 } 2166 2167 /** 2168 * Return the model containing this model element (multiple models may be loaded and processed 2169 * at the same time). 2170 * @see ModelElementFacade#getModel() 2171 */ 2172 public ModelFacade getModel() 2173 { 2174 return this.getSuperEntity().getModel(); 2175 } 2176 2177 /** 2178 * The name of the model element. 2179 * @see ModelElementFacade#getName() 2180 */ 2181 public String getName() 2182 { 2183 return this.getSuperEntity().getName(); 2184 } 2185 2186 /** 2187 * Gets the package to which this model element belongs. 2188 * @see ModelElementFacade#getPackage() 2189 */ 2190 public ModelElementFacade getPackage() 2191 { 2192 return this.getSuperEntity().getPackage(); 2193 } 2194 2195 /** 2196 * The name of this model element's package. 2197 * @see ModelElementFacade#getPackageName() 2198 */ 2199 public String getPackageName() 2200 { 2201 return this.getSuperEntity().getPackageName(); 2202 } 2203 2204 /** 2205 * Gets the package name (optionally providing the ability to retrieve the model name and not 2206 * the mapped name). 2207 * @see ModelElementFacade#getPackageName(boolean modelName) 2208 */ 2209 public String getPackageName(boolean modelName) 2210 { 2211 return this.getSuperEntity().getPackageName(modelName); 2212 } 2213 2214 /** 2215 * Returns the package as a path, the returned value always starts with out a slash '/'. 2216 * @see ModelElementFacade#getPackagePath() 2217 */ 2218 public String getPackagePath() 2219 { 2220 return this.getSuperEntity().getPackagePath(); 2221 } 2222 2223 /** 2224 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the 2225 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from 2226 * the names of the containing namespaces starting at the root of the hierarchy and ending with 2227 * the name of the NamedElement itself. 2228 * @see ModelElementFacade#getQualifiedName() 2229 */ 2230 public String getQualifiedName() 2231 { 2232 return this.getSuperEntity().getQualifiedName(); 2233 } 2234 2235 /** 2236 * Gets the root package for the model element. 2237 * @see ModelElementFacade#getRootPackage() 2238 */ 2239 public PackageFacade getRootPackage() 2240 { 2241 return this.getSuperEntity().getRootPackage(); 2242 } 2243 2244 /** 2245 * Gets the dependencies for which this model element is the source. 2246 * @see ModelElementFacade#getSourceDependencies() 2247 */ 2248 public Collection<DependencyFacade> getSourceDependencies() 2249 { 2250 return this.getSuperEntity().getSourceDependencies(); 2251 } 2252 2253 /** 2254 * If this model element is the context of an activity graph, this represents that activity 2255 * graph. 2256 * @see ModelElementFacade#getStateMachineContext() 2257 */ 2258 public StateMachineFacade getStateMachineContext() 2259 { 2260 return this.getSuperEntity().getStateMachineContext(); 2261 } 2262 2263 /** 2264 * The collection of ALL stereotype names for this model element. 2265 * @see ModelElementFacade#getStereotypeNames() 2266 */ 2267 public Collection<String> getStereotypeNames() 2268 { 2269 return this.getSuperEntity().getStereotypeNames(); 2270 } 2271 2272 /** 2273 * Gets all stereotypes for this model element. 2274 * @see ModelElementFacade#getStereotypes() 2275 */ 2276 public Collection<StereotypeFacade> getStereotypes() 2277 { 2278 return this.getSuperEntity().getStereotypes(); 2279 } 2280 2281 /** 2282 * Return the TaggedValues associated with this model element, under all stereotypes. 2283 * @see ModelElementFacade#getTaggedValues() 2284 */ 2285 public Collection<TaggedValueFacade> getTaggedValues() 2286 { 2287 return this.getSuperEntity().getTaggedValues(); 2288 } 2289 2290 /** 2291 * Gets the dependencies for which this model element is the target. 2292 * @see ModelElementFacade#getTargetDependencies() 2293 */ 2294 public Collection<DependencyFacade> getTargetDependencies() 2295 { 2296 return this.getSuperEntity().getTargetDependencies(); 2297 } 2298 2299 /** 2300 * Get the template parameter for this model element having the parameterName 2301 * @see ModelElementFacade#getTemplateParameter(String parameterName) 2302 */ 2303 public Object getTemplateParameter(String parameterName) 2304 { 2305 return this.getSuperEntity().getTemplateParameter(parameterName); 2306 } 2307 2308 /** 2309 * Get the template parameters for this model element 2310 * @see ModelElementFacade#getTemplateParameters() 2311 */ 2312 public Collection<TemplateParameterFacade> getTemplateParameters() 2313 { 2314 return this.getSuperEntity().getTemplateParameters(); 2315 } 2316 2317 /** 2318 * The visibility (i.e. public, private, protected or package) of the model element, will 2319 * attempt a lookup for these values in the language mappings (if any). 2320 * @see ModelElementFacade#getVisibility() 2321 */ 2322 public String getVisibility() 2323 { 2324 return this.getSuperEntity().getVisibility(); 2325 } 2326 2327 /** 2328 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance 2329 * is taken into account when searching for the stereotype), false otherwise. 2330 * @see ModelElementFacade#hasExactStereotype(String stereotypeName) 2331 */ 2332 public boolean hasExactStereotype(String stereotypeName) 2333 { 2334 return this.getSuperEntity().hasExactStereotype(stereotypeName); 2335 } 2336 2337 /** 2338 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma, 2339 * pipe, semicolon, or << >> 2340 * @see ModelElementFacade#hasKeyword(String keywordName) 2341 */ 2342 public boolean hasKeyword(String keywordName) 2343 { 2344 return this.getSuperEntity().hasKeyword(keywordName); 2345 } 2346 2347 /** 2348 * Returns true if the model element has the specified stereotype. If the stereotype itself 2349 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if 2350 * one of the stereotype's ancestors has a matching name this method will return true, false 2351 * otherwise. 2352 * For example, if we have a certain stereotype called <<exception>> and a model element has a 2353 * stereotype called <<applicationException>> which extends <<exception>>, when calling this 2354 * method with 'stereotypeName' defined as 'exception' the method would return true since 2355 * <<applicationException>> inherits from <<exception>>. If you want to check if the model 2356 * element has the exact stereotype, then use the method 'hasExactStereotype' instead. 2357 * @see ModelElementFacade#hasStereotype(String stereotypeName) 2358 */ 2359 public boolean hasStereotype(String stereotypeName) 2360 { 2361 return this.getSuperEntity().hasStereotype(stereotypeName); 2362 } 2363 2364 /** 2365 * True if there are target dependencies from this element that are instances of BindingFacade. 2366 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies. 2367 * @see ModelElementFacade#isBindingDependenciesPresent() 2368 */ 2369 public boolean isBindingDependenciesPresent() 2370 { 2371 return this.getSuperEntity().isBindingDependenciesPresent(); 2372 } 2373 2374 /** 2375 * Indicates if any constraints are present on this model element. 2376 * @see ModelElementFacade#isConstraintsPresent() 2377 */ 2378 public boolean isConstraintsPresent() 2379 { 2380 return this.getSuperEntity().isConstraintsPresent(); 2381 } 2382 2383 /** 2384 * Indicates if any documentation is present on this model element. 2385 * @see ModelElementFacade#isDocumentationPresent() 2386 */ 2387 public boolean isDocumentationPresent() 2388 { 2389 return this.getSuperEntity().isDocumentationPresent(); 2390 } 2391 2392 /** 2393 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript. 2394 * @see ModelElementFacade#isReservedWord() 2395 */ 2396 public boolean isReservedWord() 2397 { 2398 return this.getSuperEntity().isReservedWord(); 2399 } 2400 2401 /** 2402 * True is there are template parameters on this model element. For UML2, applies to Class, 2403 * Operation, Property, and Parameter. 2404 * @see ModelElementFacade#isTemplateParametersPresent() 2405 */ 2406 public boolean isTemplateParametersPresent() 2407 { 2408 return this.getSuperEntity().isTemplateParametersPresent(); 2409 } 2410 2411 /** 2412 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++, 2413 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on 2414 * Enumerations and Interfaces, optionally applies on other model elements. 2415 * @see ModelElementFacade#isValidIdentifierName() 2416 */ 2417 public boolean isValidIdentifierName() 2418 { 2419 return this.getSuperEntity().isValidIdentifierName(); 2420 } 2421 2422 /** 2423 * Searches for the constraint with the specified 'name' on this model element, and if found 2424 * translates it using the specified 'translation' from a translation library discovered by the 2425 * framework. 2426 * @see ModelElementFacade#translateConstraint(String name, String translation) 2427 */ 2428 public String translateConstraint(String name, String translation) 2429 { 2430 return this.getSuperEntity().translateConstraint(name, translation); 2431 } 2432 2433 /** 2434 * Translates all constraints belonging to this model element with the given 'translation'. 2435 * @see ModelElementFacade#translateConstraints(String translation) 2436 */ 2437 public String[] translateConstraints(String translation) 2438 { 2439 return this.getSuperEntity().translateConstraints(translation); 2440 } 2441 2442 /** 2443 * Translates the constraints of the specified 'kind' belonging to this model element. 2444 * @see ModelElementFacade#translateConstraints(String kind, String translation) 2445 */ 2446 public String[] translateConstraints(String kind, String translation) 2447 { 2448 return this.getSuperEntity().translateConstraints(kind, translation); 2449 } 2450 2451 /** 2452 * @see MetafacadeBase#initialize() 2453 */ 2454 @Override 2455 public void initialize() 2456 { 2457 this.getSuperEntity().initialize(); 2458 } 2459 2460 /** 2461 * @return Object getSuperEntity().getValidationOwner() 2462 * @see MetafacadeBase#getValidationOwner() 2463 */ 2464 @Override 2465 public Object getValidationOwner() 2466 { 2467 Object owner = this.getSuperEntity().getValidationOwner(); 2468 return owner; 2469 } 2470 2471 /** 2472 * @return String getSuperEntity().getValidationName() 2473 * @see MetafacadeBase#getValidationName() 2474 */ 2475 @Override 2476 public String getValidationName() 2477 { 2478 String name = this.getSuperEntity().getValidationName(); 2479 return name; 2480 } 2481 2482 /** 2483 * @param validationMessages Collection<ModelValidationMessage> 2484 * @see MetafacadeBase#validateInvariants(Collection validationMessages) 2485 */ 2486 @Override 2487 public void validateInvariants(Collection<ModelValidationMessage> validationMessages) 2488 { 2489 this.getSuperEntity().validateInvariants(validationMessages); 2490 } 2491 2492 /** 2493 * The property that stores the name of the metafacade. 2494 */ 2495 private static final String NAME_PROPERTY = "name"; 2496 private static final String FQNAME_PROPERTY = "fullyQualifiedName"; 2497 2498 /** 2499 * @see Object#toString() 2500 */ 2501 @Override 2502 public String toString() 2503 { 2504 final StringBuilder toString = new StringBuilder(this.getClass().getName()); 2505 toString.append("["); 2506 try 2507 { 2508 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY)); 2509 } 2510 catch (final Throwable tryAgain) 2511 { 2512 try 2513 { 2514 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY)); 2515 } 2516 catch (final Throwable ignore) 2517 { 2518 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property 2519 } 2520 } 2521 toString.append("]"); 2522 return toString.toString(); 2523 } 2524}