001// license-header java merge-point 002// 003// Attention: generated code (by MetafacadeLogic.vsl) - do not modify! 004// 005package org.andromda.cartridges.hibernate.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.andromda.translation.ocl.validation.OCLCollections; 033import org.andromda.translation.ocl.validation.OCLExpressions; 034import org.andromda.translation.ocl.validation.OCLIntrospector; 035import org.andromda.translation.ocl.validation.OCLResultEnsurer; 036import org.apache.commons.collections.Predicate; 037import org.apache.log4j.Logger; 038 039/** 040 * Represents an hibernate persistent entity. 041 * MetafacadeLogic for HibernateEntity 042 * 043 * @see HibernateEntity 044 */ 045public abstract class HibernateEntityLogic 046 extends MetafacadeBase 047 implements HibernateEntity 048{ 049 /** 050 * The underlying UML object 051 * @see Object 052 */ 053 protected Object metaObject; 054 055 /** Create Metafacade implementation instance using the MetafacadeFactory from the context 056 * @param metaObjectIn 057 * @param context 058 */ 059 protected HibernateEntityLogic(Object metaObjectIn, String context) 060 { 061 super(metaObjectIn, getContext(context)); 062 this.superEntity = 063 (Entity) 064 MetafacadeFactory.getInstance().createFacadeImpl( 065 "org.andromda.metafacades.uml.Entity", 066 metaObjectIn, 067 getContext(context)); 068 this.metaObject = metaObjectIn; 069 } 070 071 /** 072 * The logger instance. 073 */ 074 private static final Logger logger = Logger.getLogger(HibernateEntityLogic.class); 075 076 /** 077 * Gets the context for this metafacade logic instance. 078 * @param context String. Set to HibernateEntity if null 079 * @return context String 080 */ 081 private static String getContext(String context) 082 { 083 if (context == null) 084 { 085 context = "org.andromda.cartridges.hibernate.metafacades.HibernateEntity"; 086 } 087 return context; 088 } 089 090 private Entity superEntity; 091 private boolean superEntityInitialized = false; 092 093 /** 094 * Gets the Entity parent instance. 095 * @return this.superEntity Entity 096 */ 097 private Entity getSuperEntity() 098 { 099 if (!this.superEntityInitialized) 100 { 101 ((MetafacadeBase)this.superEntity).setMetafacadeContext(this.getMetafacadeContext()); 102 this.superEntityInitialized = true; 103 } 104 return this.superEntity; 105 } 106 107 /** Reset context only for non-root metafacades 108 * @param context 109 * @see MetafacadeBase#resetMetafacadeContext(String context) 110 */ 111 @Override 112 public void resetMetafacadeContext(String context) 113 { 114 if (!this.contextRoot) // reset context only for non-root metafacades 115 { 116 context = getContext(context); // to have same value as in original constructor call 117 setMetafacadeContext (context); 118 if (this.superEntityInitialized) 119 { 120 ((MetafacadeBase)this.superEntity).resetMetafacadeContext(context); 121 } 122 } 123 } 124 125 /** 126 * @return boolean true always 127 * @see HibernateEntity 128 */ 129 public boolean isHibernateEntityMetaType() 130 { 131 return true; 132 } 133 134 // --------------- attributes --------------------- 135 136 /** 137 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isHibernateInheritanceClass() 138 * @return boolean 139 */ 140 protected abstract boolean handleIsHibernateInheritanceClass(); 141 142 private boolean __hibernateInheritanceClass1a; 143 private boolean __hibernateInheritanceClass1aSet = false; 144 145 /** 146 * Return true if the hibernate inheritance strategy as specified by the tagged value 147 * andromda_inheritance_strategy is defined as class. 148 * @return (boolean)handleIsHibernateInheritanceClass() 149 */ 150 public final boolean isHibernateInheritanceClass() 151 { 152 boolean hibernateInheritanceClass1a = this.__hibernateInheritanceClass1a; 153 if (!this.__hibernateInheritanceClass1aSet) 154 { 155 // hibernateInheritanceClass has no pre constraints 156 hibernateInheritanceClass1a = handleIsHibernateInheritanceClass(); 157 // hibernateInheritanceClass has no post constraints 158 this.__hibernateInheritanceClass1a = hibernateInheritanceClass1a; 159 if (isMetafacadePropertyCachingEnabled()) 160 { 161 this.__hibernateInheritanceClass1aSet = true; 162 } 163 } 164 return hibernateInheritanceClass1a; 165 } 166 167 /** 168 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isHibernateInheritanceConcrete() 169 * @return boolean 170 */ 171 protected abstract boolean handleIsHibernateInheritanceConcrete(); 172 173 private boolean __hibernateInheritanceConcrete2a; 174 private boolean __hibernateInheritanceConcrete2aSet = false; 175 176 /** 177 * Return true if the hibernate inheritance strategy as specified by the tagged value 178 * andromda_inheritance_strategy is defined as concrete. 179 * @return (boolean)handleIsHibernateInheritanceConcrete() 180 */ 181 public final boolean isHibernateInheritanceConcrete() 182 { 183 boolean hibernateInheritanceConcrete2a = this.__hibernateInheritanceConcrete2a; 184 if (!this.__hibernateInheritanceConcrete2aSet) 185 { 186 // hibernateInheritanceConcrete has no pre constraints 187 hibernateInheritanceConcrete2a = handleIsHibernateInheritanceConcrete(); 188 // hibernateInheritanceConcrete has no post constraints 189 this.__hibernateInheritanceConcrete2a = hibernateInheritanceConcrete2a; 190 if (isMetafacadePropertyCachingEnabled()) 191 { 192 this.__hibernateInheritanceConcrete2aSet = true; 193 } 194 } 195 return hibernateInheritanceConcrete2a; 196 } 197 198 /** 199 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isHibernateInheritanceSubclass() 200 * @return boolean 201 */ 202 protected abstract boolean handleIsHibernateInheritanceSubclass(); 203 204 private boolean __hibernateInheritanceSubclass3a; 205 private boolean __hibernateInheritanceSubclass3aSet = false; 206 207 /** 208 * Return true if the hibernate inheritance strategy as specified by the tagged value 209 * andromda_inheritance_strategy is defined as subclass. 210 * @return (boolean)handleIsHibernateInheritanceSubclass() 211 */ 212 public final boolean isHibernateInheritanceSubclass() 213 { 214 boolean hibernateInheritanceSubclass3a = this.__hibernateInheritanceSubclass3a; 215 if (!this.__hibernateInheritanceSubclass3aSet) 216 { 217 // hibernateInheritanceSubclass has no pre constraints 218 hibernateInheritanceSubclass3a = handleIsHibernateInheritanceSubclass(); 219 // hibernateInheritanceSubclass has no post constraints 220 this.__hibernateInheritanceSubclass3a = hibernateInheritanceSubclass3a; 221 if (isMetafacadePropertyCachingEnabled()) 222 { 223 this.__hibernateInheritanceSubclass3aSet = true; 224 } 225 } 226 return hibernateInheritanceSubclass3a; 227 } 228 229 /** 230 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isHibernateInheritanceInterface() 231 * @return boolean 232 */ 233 protected abstract boolean handleIsHibernateInheritanceInterface(); 234 235 private boolean __hibernateInheritanceInterface4a; 236 private boolean __hibernateInheritanceInterface4aSet = false; 237 238 /** 239 * Return true if the hibernate inheritance strategy as specified by the tagged value 240 * andromda_inheritance_strategy is defined as interface. 241 * @return (boolean)handleIsHibernateInheritanceInterface() 242 */ 243 public final boolean isHibernateInheritanceInterface() 244 { 245 boolean hibernateInheritanceInterface4a = this.__hibernateInheritanceInterface4a; 246 if (!this.__hibernateInheritanceInterface4aSet) 247 { 248 // hibernateInheritanceInterface has no pre constraints 249 hibernateInheritanceInterface4a = handleIsHibernateInheritanceInterface(); 250 // hibernateInheritanceInterface has no post constraints 251 this.__hibernateInheritanceInterface4a = hibernateInheritanceInterface4a; 252 if (isMetafacadePropertyCachingEnabled()) 253 { 254 this.__hibernateInheritanceInterface4aSet = true; 255 } 256 } 257 return hibernateInheritanceInterface4a; 258 } 259 260 /** 261 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getHibernateInheritanceStrategy() 262 * @return String 263 */ 264 protected abstract String handleGetHibernateInheritanceStrategy(); 265 266 private String __hibernateInheritanceStrategy5a; 267 private boolean __hibernateInheritanceStrategy5aSet = false; 268 269 /** 270 * Return the value of andromda.hibernate.inheritance tagged value. 271 * @return (String)handleGetHibernateInheritanceStrategy() 272 */ 273 public final String getHibernateInheritanceStrategy() 274 { 275 String hibernateInheritanceStrategy5a = this.__hibernateInheritanceStrategy5a; 276 if (!this.__hibernateInheritanceStrategy5aSet) 277 { 278 // hibernateInheritanceStrategy has no pre constraints 279 hibernateInheritanceStrategy5a = handleGetHibernateInheritanceStrategy(); 280 // hibernateInheritanceStrategy has no post constraints 281 this.__hibernateInheritanceStrategy5a = hibernateInheritanceStrategy5a; 282 if (isMetafacadePropertyCachingEnabled()) 283 { 284 this.__hibernateInheritanceStrategy5aSet = true; 285 } 286 } 287 return hibernateInheritanceStrategy5a; 288 } 289 290 /** 291 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getHibernateCacheType() 292 * @return String 293 */ 294 protected abstract String handleGetHibernateCacheType(); 295 296 private String __hibernateCacheType6a; 297 private boolean __hibernateCacheType6aSet = false; 298 299 /** 300 * Cache policy for the entity. Posible values are read-write, nonstrict-read-write, read-only 301 * @return (String)handleGetHibernateCacheType() 302 */ 303 public final String getHibernateCacheType() 304 { 305 String hibernateCacheType6a = this.__hibernateCacheType6a; 306 if (!this.__hibernateCacheType6aSet) 307 { 308 // hibernateCacheType has no pre constraints 309 hibernateCacheType6a = handleGetHibernateCacheType(); 310 // hibernateCacheType has no post constraints 311 this.__hibernateCacheType6a = hibernateCacheType6a; 312 if (isMetafacadePropertyCachingEnabled()) 313 { 314 this.__hibernateCacheType6aSet = true; 315 } 316 } 317 return hibernateCacheType6a; 318 } 319 320 /** 321 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getFullyQualifiedEntityName() 322 * @return String 323 */ 324 protected abstract String handleGetFullyQualifiedEntityName(); 325 326 private String __fullyQualifiedEntityName7a; 327 private boolean __fullyQualifiedEntityName7aSet = false; 328 329 /** 330 * TODO: Model Documentation for 331 * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.fullyQualifiedEntityName 332 * @return (String)handleGetFullyQualifiedEntityName() 333 */ 334 public final String getFullyQualifiedEntityName() 335 { 336 String fullyQualifiedEntityName7a = this.__fullyQualifiedEntityName7a; 337 if (!this.__fullyQualifiedEntityName7aSet) 338 { 339 // fullyQualifiedEntityName has no pre constraints 340 fullyQualifiedEntityName7a = handleGetFullyQualifiedEntityName(); 341 // fullyQualifiedEntityName has no post constraints 342 this.__fullyQualifiedEntityName7a = fullyQualifiedEntityName7a; 343 if (isMetafacadePropertyCachingEnabled()) 344 { 345 this.__fullyQualifiedEntityName7aSet = true; 346 } 347 } 348 return fullyQualifiedEntityName7a; 349 } 350 351 /** 352 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getFullyQualifiedEntityImplementationName() 353 * @return String 354 */ 355 protected abstract String handleGetFullyQualifiedEntityImplementationName(); 356 357 private String __fullyQualifiedEntityImplementationName8a; 358 private boolean __fullyQualifiedEntityImplementationName8aSet = false; 359 360 /** 361 * TODO: Model Documentation for 362 * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.fullyQualifiedEntityImplementationName 363 * @return (String)handleGetFullyQualifiedEntityImplementationName() 364 */ 365 public final String getFullyQualifiedEntityImplementationName() 366 { 367 String fullyQualifiedEntityImplementationName8a = this.__fullyQualifiedEntityImplementationName8a; 368 if (!this.__fullyQualifiedEntityImplementationName8aSet) 369 { 370 // fullyQualifiedEntityImplementationName has no pre constraints 371 fullyQualifiedEntityImplementationName8a = handleGetFullyQualifiedEntityImplementationName(); 372 // fullyQualifiedEntityImplementationName has no post constraints 373 this.__fullyQualifiedEntityImplementationName8a = fullyQualifiedEntityImplementationName8a; 374 if (isMetafacadePropertyCachingEnabled()) 375 { 376 this.__fullyQualifiedEntityImplementationName8aSet = true; 377 } 378 } 379 return fullyQualifiedEntityImplementationName8a; 380 } 381 382 /** 383 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getHibernateDefaultCascade() 384 * @return String 385 */ 386 protected abstract String handleGetHibernateDefaultCascade(); 387 388 private String __hibernateDefaultCascade9a; 389 private boolean __hibernateDefaultCascade9aSet = false; 390 391 /** 392 * TODO: Model Documentation for 393 * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.hibernateDefaultCascade 394 * @return (String)handleGetHibernateDefaultCascade() 395 */ 396 public final String getHibernateDefaultCascade() 397 { 398 String hibernateDefaultCascade9a = this.__hibernateDefaultCascade9a; 399 if (!this.__hibernateDefaultCascade9aSet) 400 { 401 // hibernateDefaultCascade has no pre constraints 402 hibernateDefaultCascade9a = handleGetHibernateDefaultCascade(); 403 // hibernateDefaultCascade has no post constraints 404 this.__hibernateDefaultCascade9a = hibernateDefaultCascade9a; 405 if (isMetafacadePropertyCachingEnabled()) 406 { 407 this.__hibernateDefaultCascade9aSet = true; 408 } 409 } 410 return hibernateDefaultCascade9a; 411 } 412 413 /** 414 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getHibernateGeneratorClass() 415 * @return String 416 */ 417 protected abstract String handleGetHibernateGeneratorClass(); 418 419 private String __hibernateGeneratorClass10a; 420 private boolean __hibernateGeneratorClass10aSet = false; 421 422 /** 423 * TODO: Model Documentation for 424 * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.hibernateGeneratorClass 425 * @return (String)handleGetHibernateGeneratorClass() 426 */ 427 public final String getHibernateGeneratorClass() 428 { 429 String hibernateGeneratorClass10a = this.__hibernateGeneratorClass10a; 430 if (!this.__hibernateGeneratorClass10aSet) 431 { 432 // hibernateGeneratorClass has no pre constraints 433 hibernateGeneratorClass10a = handleGetHibernateGeneratorClass(); 434 // hibernateGeneratorClass has no post constraints 435 this.__hibernateGeneratorClass10a = hibernateGeneratorClass10a; 436 if (isMetafacadePropertyCachingEnabled()) 437 { 438 this.__hibernateGeneratorClass10aSet = true; 439 } 440 } 441 return hibernateGeneratorClass10a; 442 } 443 444 /** 445 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isForeignHibernateGeneratorClass() 446 * @return boolean 447 */ 448 protected abstract boolean handleIsForeignHibernateGeneratorClass(); 449 450 private boolean __foreignHibernateGeneratorClass11a; 451 private boolean __foreignHibernateGeneratorClass11aSet = false; 452 453 /** 454 * Indicates whether or not hibernate generator class for this SpringEntity is foreign or not. 455 * @return (boolean)handleIsForeignHibernateGeneratorClass() 456 */ 457 public final boolean isForeignHibernateGeneratorClass() 458 { 459 boolean foreignHibernateGeneratorClass11a = this.__foreignHibernateGeneratorClass11a; 460 if (!this.__foreignHibernateGeneratorClass11aSet) 461 { 462 // foreignHibernateGeneratorClass has no pre constraints 463 foreignHibernateGeneratorClass11a = handleIsForeignHibernateGeneratorClass(); 464 // foreignHibernateGeneratorClass has no post constraints 465 this.__foreignHibernateGeneratorClass11a = foreignHibernateGeneratorClass11a; 466 if (isMetafacadePropertyCachingEnabled()) 467 { 468 this.__foreignHibernateGeneratorClass11aSet = true; 469 } 470 } 471 return foreignHibernateGeneratorClass11a; 472 } 473 474 /** 475 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getHibernateDiscriminatorColumn() 476 * @return String 477 */ 478 protected abstract String handleGetHibernateDiscriminatorColumn(); 479 480 private String __hibernateDiscriminatorColumn12a; 481 private boolean __hibernateDiscriminatorColumn12aSet = false; 482 483 /** 484 * The name of the discriminator column. Default is class. 485 * @return (String)handleGetHibernateDiscriminatorColumn() 486 */ 487 public final String getHibernateDiscriminatorColumn() 488 { 489 String hibernateDiscriminatorColumn12a = this.__hibernateDiscriminatorColumn12a; 490 if (!this.__hibernateDiscriminatorColumn12aSet) 491 { 492 // hibernateDiscriminatorColumn has no pre constraints 493 hibernateDiscriminatorColumn12a = handleGetHibernateDiscriminatorColumn(); 494 // hibernateDiscriminatorColumn has no post constraints 495 this.__hibernateDiscriminatorColumn12a = hibernateDiscriminatorColumn12a; 496 if (isMetafacadePropertyCachingEnabled()) 497 { 498 this.__hibernateDiscriminatorColumn12aSet = true; 499 } 500 } 501 return hibernateDiscriminatorColumn12a; 502 } 503 504 /** 505 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getHibernateDiscriminatorType() 506 * @return String 507 */ 508 protected abstract String handleGetHibernateDiscriminatorType(); 509 510 private String __hibernateDiscriminatorType13a; 511 private boolean __hibernateDiscriminatorType13aSet = false; 512 513 /** 514 * The type of the hibernate discriminator column. Default is string. 515 * @return (String)handleGetHibernateDiscriminatorType() 516 */ 517 public final String getHibernateDiscriminatorType() 518 { 519 String hibernateDiscriminatorType13a = this.__hibernateDiscriminatorType13a; 520 if (!this.__hibernateDiscriminatorType13aSet) 521 { 522 // hibernateDiscriminatorType has no pre constraints 523 hibernateDiscriminatorType13a = handleGetHibernateDiscriminatorType(); 524 // hibernateDiscriminatorType has no post constraints 525 this.__hibernateDiscriminatorType13a = hibernateDiscriminatorType13a; 526 if (isMetafacadePropertyCachingEnabled()) 527 { 528 this.__hibernateDiscriminatorType13aSet = true; 529 } 530 } 531 return hibernateDiscriminatorType13a; 532 } 533 534 /** 535 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getHibernateDiscriminatorLength() 536 * @return int 537 */ 538 protected abstract int handleGetHibernateDiscriminatorLength(); 539 540 private int __hibernateDiscriminatorLength14a; 541 private boolean __hibernateDiscriminatorLength14aSet = false; 542 543 /** 544 * The standard length of a discriminator value. Default is 1. 545 * @return (int)handleGetHibernateDiscriminatorLength() 546 */ 547 public final int getHibernateDiscriminatorLength() 548 { 549 int hibernateDiscriminatorLength14a = this.__hibernateDiscriminatorLength14a; 550 if (!this.__hibernateDiscriminatorLength14aSet) 551 { 552 // hibernateDiscriminatorLength has no pre constraints 553 hibernateDiscriminatorLength14a = handleGetHibernateDiscriminatorLength(); 554 // hibernateDiscriminatorLength has no post constraints 555 this.__hibernateDiscriminatorLength14a = hibernateDiscriminatorLength14a; 556 if (isMetafacadePropertyCachingEnabled()) 557 { 558 this.__hibernateDiscriminatorLength14aSet = true; 559 } 560 } 561 return hibernateDiscriminatorLength14a; 562 } 563 564 /** 565 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getEntityName() 566 * @return String 567 */ 568 protected abstract String handleGetEntityName(); 569 570 private String __entityName15a; 571 private boolean __entityName15aSet = false; 572 573 /** 574 * The name used for the hibernate entity. 575 * @return (String)handleGetEntityName() 576 */ 577 public final String getEntityName() 578 { 579 String entityName15a = this.__entityName15a; 580 if (!this.__entityName15aSet) 581 { 582 // entityName has no pre constraints 583 entityName15a = handleGetEntityName(); 584 // entityName has no post constraints 585 this.__entityName15a = entityName15a; 586 if (isMetafacadePropertyCachingEnabled()) 587 { 588 this.__entityName15aSet = true; 589 } 590 } 591 return entityName15a; 592 } 593 594 /** 595 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getEntityImplementationName() 596 * @return String 597 */ 598 protected abstract String handleGetEntityImplementationName(); 599 600 private String __entityImplementationName16a; 601 private boolean __entityImplementationName16aSet = false; 602 603 /** 604 * The name of the implementation class. 605 * @return (String)handleGetEntityImplementationName() 606 */ 607 public final String getEntityImplementationName() 608 { 609 String entityImplementationName16a = this.__entityImplementationName16a; 610 if (!this.__entityImplementationName16aSet) 611 { 612 // entityImplementationName has no pre constraints 613 entityImplementationName16a = handleGetEntityImplementationName(); 614 // entityImplementationName has no post constraints 615 this.__entityImplementationName16a = entityImplementationName16a; 616 if (isMetafacadePropertyCachingEnabled()) 617 { 618 this.__entityImplementationName16aSet = true; 619 } 620 } 621 return entityImplementationName16a; 622 } 623 624 /** 625 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isBusinessOperationsPresent() 626 * @return boolean 627 */ 628 protected abstract boolean handleIsBusinessOperationsPresent(); 629 630 private boolean __businessOperationsPresent17a; 631 private boolean __businessOperationsPresent17aSet = false; 632 633 /** 634 * Indicates whether or not any entity operations are present. 635 * @return (boolean)handleIsBusinessOperationsPresent() 636 */ 637 public final boolean isBusinessOperationsPresent() 638 { 639 boolean businessOperationsPresent17a = this.__businessOperationsPresent17a; 640 if (!this.__businessOperationsPresent17aSet) 641 { 642 // businessOperationsPresent has no pre constraints 643 businessOperationsPresent17a = handleIsBusinessOperationsPresent(); 644 // businessOperationsPresent has no post constraints 645 this.__businessOperationsPresent17a = businessOperationsPresent17a; 646 if (isMetafacadePropertyCachingEnabled()) 647 { 648 this.__businessOperationsPresent17aSet = true; 649 } 650 } 651 return businessOperationsPresent17a; 652 } 653 654 /** 655 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isHibernateProxy() 656 * @return boolean 657 */ 658 protected abstract boolean handleIsHibernateProxy(); 659 660 private boolean __hibernateProxy18a; 661 private boolean __hibernateProxy18aSet = false; 662 663 /** 664 * TODO: Model Documentation for 665 * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.hibernateProxy 666 * @return (boolean)handleIsHibernateProxy() 667 */ 668 public final boolean isHibernateProxy() 669 { 670 boolean hibernateProxy18a = this.__hibernateProxy18a; 671 if (!this.__hibernateProxy18aSet) 672 { 673 // hibernateProxy has no pre constraints 674 hibernateProxy18a = handleIsHibernateProxy(); 675 // hibernateProxy has no post constraints 676 this.__hibernateProxy18a = hibernateProxy18a; 677 if (isMetafacadePropertyCachingEnabled()) 678 { 679 this.__hibernateProxy18aSet = true; 680 } 681 } 682 return hibernateProxy18a; 683 } 684 685 /** 686 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getEhCacheMaxElementsInMemory() 687 * @return int 688 */ 689 protected abstract int handleGetEhCacheMaxElementsInMemory(); 690 691 private int __ehCacheMaxElementsInMemory19a; 692 private boolean __ehCacheMaxElementsInMemory19aSet = false; 693 694 /** 695 * EhCache property. Defines the maximum number of objects that will be created in memory. 696 * @return (int)handleGetEhCacheMaxElementsInMemory() 697 */ 698 public final int getEhCacheMaxElementsInMemory() 699 { 700 int ehCacheMaxElementsInMemory19a = this.__ehCacheMaxElementsInMemory19a; 701 if (!this.__ehCacheMaxElementsInMemory19aSet) 702 { 703 // ehCacheMaxElementsInMemory has no pre constraints 704 ehCacheMaxElementsInMemory19a = handleGetEhCacheMaxElementsInMemory(); 705 // ehCacheMaxElementsInMemory has no post constraints 706 this.__ehCacheMaxElementsInMemory19a = ehCacheMaxElementsInMemory19a; 707 if (isMetafacadePropertyCachingEnabled()) 708 { 709 this.__ehCacheMaxElementsInMemory19aSet = true; 710 } 711 } 712 return ehCacheMaxElementsInMemory19a; 713 } 714 715 /** 716 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isEhCacheEternal() 717 * @return boolean 718 */ 719 protected abstract boolean handleIsEhCacheEternal(); 720 721 private boolean __ehCacheEternal20a; 722 private boolean __ehCacheEternal20aSet = false; 723 724 /** 725 * EhCache property. Defines if elements are eternal. 726 * @return (boolean)handleIsEhCacheEternal() 727 */ 728 public final boolean isEhCacheEternal() 729 { 730 boolean ehCacheEternal20a = this.__ehCacheEternal20a; 731 if (!this.__ehCacheEternal20aSet) 732 { 733 // ehCacheEternal has no pre constraints 734 ehCacheEternal20a = handleIsEhCacheEternal(); 735 // ehCacheEternal has no post constraints 736 this.__ehCacheEternal20a = ehCacheEternal20a; 737 if (isMetafacadePropertyCachingEnabled()) 738 { 739 this.__ehCacheEternal20aSet = true; 740 } 741 } 742 return ehCacheEternal20a; 743 } 744 745 /** 746 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getEhCacheTimeToIdleSeconds() 747 * @return int 748 */ 749 protected abstract int handleGetEhCacheTimeToIdleSeconds(); 750 751 private int __ehCacheTimeToIdleSeconds21a; 752 private boolean __ehCacheTimeToIdleSeconds21aSet = false; 753 754 /** 755 * EhCache property. Defines the time to idle for an element before it expires. 756 * @return (int)handleGetEhCacheTimeToIdleSeconds() 757 */ 758 public final int getEhCacheTimeToIdleSeconds() 759 { 760 int ehCacheTimeToIdleSeconds21a = this.__ehCacheTimeToIdleSeconds21a; 761 if (!this.__ehCacheTimeToIdleSeconds21aSet) 762 { 763 // ehCacheTimeToIdleSeconds has no pre constraints 764 ehCacheTimeToIdleSeconds21a = handleGetEhCacheTimeToIdleSeconds(); 765 // ehCacheTimeToIdleSeconds has no post constraints 766 this.__ehCacheTimeToIdleSeconds21a = ehCacheTimeToIdleSeconds21a; 767 if (isMetafacadePropertyCachingEnabled()) 768 { 769 this.__ehCacheTimeToIdleSeconds21aSet = true; 770 } 771 } 772 return ehCacheTimeToIdleSeconds21a; 773 } 774 775 /** 776 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getEhCacheTimeToLiveSeconds() 777 * @return int 778 */ 779 protected abstract int handleGetEhCacheTimeToLiveSeconds(); 780 781 private int __ehCacheTimeToLiveSeconds22a; 782 private boolean __ehCacheTimeToLiveSeconds22aSet = false; 783 784 /** 785 * EhCache property. Defines the time to live for an element before it expires. 786 * @return (int)handleGetEhCacheTimeToLiveSeconds() 787 */ 788 public final int getEhCacheTimeToLiveSeconds() 789 { 790 int ehCacheTimeToLiveSeconds22a = this.__ehCacheTimeToLiveSeconds22a; 791 if (!this.__ehCacheTimeToLiveSeconds22aSet) 792 { 793 // ehCacheTimeToLiveSeconds has no pre constraints 794 ehCacheTimeToLiveSeconds22a = handleGetEhCacheTimeToLiveSeconds(); 795 // ehCacheTimeToLiveSeconds has no post constraints 796 this.__ehCacheTimeToLiveSeconds22a = ehCacheTimeToLiveSeconds22a; 797 if (isMetafacadePropertyCachingEnabled()) 798 { 799 this.__ehCacheTimeToLiveSeconds22aSet = true; 800 } 801 } 802 return ehCacheTimeToLiveSeconds22a; 803 } 804 805 /** 806 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isEhCacheOverflowToDisk() 807 * @return boolean 808 */ 809 protected abstract boolean handleIsEhCacheOverflowToDisk(); 810 811 private boolean __ehCacheOverflowToDisk23a; 812 private boolean __ehCacheOverflowToDisk23aSet = false; 813 814 /** 815 * EhCache property. Defines if elements can overflow to disk 816 * @return (boolean)handleIsEhCacheOverflowToDisk() 817 */ 818 public final boolean isEhCacheOverflowToDisk() 819 { 820 boolean ehCacheOverflowToDisk23a = this.__ehCacheOverflowToDisk23a; 821 if (!this.__ehCacheOverflowToDisk23aSet) 822 { 823 // ehCacheOverflowToDisk has no pre constraints 824 ehCacheOverflowToDisk23a = handleIsEhCacheOverflowToDisk(); 825 // ehCacheOverflowToDisk has no post constraints 826 this.__ehCacheOverflowToDisk23a = ehCacheOverflowToDisk23a; 827 if (isMetafacadePropertyCachingEnabled()) 828 { 829 this.__ehCacheOverflowToDisk23aSet = true; 830 } 831 } 832 return ehCacheOverflowToDisk23a; 833 } 834 835 /** 836 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isSequenceHibernateGeneratorClass() 837 * @return boolean 838 */ 839 protected abstract boolean handleIsSequenceHibernateGeneratorClass(); 840 841 private boolean __sequenceHibernateGeneratorClass24a; 842 private boolean __sequenceHibernateGeneratorClass24aSet = false; 843 844 /** 845 * Indicates whether or not the hibernate generator class is specified as "sequence". 846 * @return (boolean)handleIsSequenceHibernateGeneratorClass() 847 */ 848 public final boolean isSequenceHibernateGeneratorClass() 849 { 850 boolean sequenceHibernateGeneratorClass24a = this.__sequenceHibernateGeneratorClass24a; 851 if (!this.__sequenceHibernateGeneratorClass24aSet) 852 { 853 // sequenceHibernateGeneratorClass has no pre constraints 854 sequenceHibernateGeneratorClass24a = handleIsSequenceHibernateGeneratorClass(); 855 // sequenceHibernateGeneratorClass has no post constraints 856 this.__sequenceHibernateGeneratorClass24a = sequenceHibernateGeneratorClass24a; 857 if (isMetafacadePropertyCachingEnabled()) 858 { 859 this.__sequenceHibernateGeneratorClass24aSet = true; 860 } 861 } 862 return sequenceHibernateGeneratorClass24a; 863 } 864 865 /** 866 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isTableRequired() 867 * @return boolean 868 */ 869 protected abstract boolean handleIsTableRequired(); 870 871 private boolean __tableRequired25a; 872 private boolean __tableRequired25aSet = false; 873 874 /** 875 * Indicates if a table is required for this entity (sometimes it will not be depending on the 876 * inheritance strategy used). 877 * @return (boolean)handleIsTableRequired() 878 */ 879 public final boolean isTableRequired() 880 { 881 boolean tableRequired25a = this.__tableRequired25a; 882 if (!this.__tableRequired25aSet) 883 { 884 // tableRequired has no pre constraints 885 tableRequired25a = handleIsTableRequired(); 886 // tableRequired has no post constraints 887 this.__tableRequired25a = tableRequired25a; 888 if (isMetafacadePropertyCachingEnabled()) 889 { 890 this.__tableRequired25aSet = true; 891 } 892 } 893 return tableRequired25a; 894 } 895 896 /** 897 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getMappingClassName() 898 * @return String 899 */ 900 protected abstract String handleGetMappingClassName(); 901 902 private String __mappingClassName26a; 903 private boolean __mappingClassName26aSet = false; 904 905 /** 906 * Returns the mapping class name to use (this is will be 'class', 'subclass', etc) depending on 907 * whether the entity is a specialization and what type of inheritance strategy is employed. 908 * @return (String)handleGetMappingClassName() 909 */ 910 public final String getMappingClassName() 911 { 912 String mappingClassName26a = this.__mappingClassName26a; 913 if (!this.__mappingClassName26aSet) 914 { 915 // mappingClassName has no pre constraints 916 mappingClassName26a = handleGetMappingClassName(); 917 // mappingClassName has no post constraints 918 this.__mappingClassName26a = mappingClassName26a; 919 if (isMetafacadePropertyCachingEnabled()) 920 { 921 this.__mappingClassName26aSet = true; 922 } 923 } 924 return mappingClassName26a; 925 } 926 927 /** 928 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getSubclassKeyColumn() 929 * @return String 930 */ 931 protected abstract String handleGetSubclassKeyColumn(); 932 933 private String __subclassKeyColumn27a; 934 private boolean __subclassKeyColumn27aSet = false; 935 936 /** 937 * Gets the name of the key column if the inheritance strategy is "subclass". If the strategy 938 * is not "subclass" this returns null. 939 * @return (String)handleGetSubclassKeyColumn() 940 */ 941 public final String getSubclassKeyColumn() 942 { 943 String subclassKeyColumn27a = this.__subclassKeyColumn27a; 944 if (!this.__subclassKeyColumn27aSet) 945 { 946 // subclassKeyColumn has no pre constraints 947 subclassKeyColumn27a = handleGetSubclassKeyColumn(); 948 // subclassKeyColumn has no post constraints 949 this.__subclassKeyColumn27a = subclassKeyColumn27a; 950 if (isMetafacadePropertyCachingEnabled()) 951 { 952 this.__subclassKeyColumn27aSet = true; 953 } 954 } 955 return subclassKeyColumn27a; 956 } 957 958 /** 959 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isRequiresMapping() 960 * @return boolean 961 */ 962 protected abstract boolean handleIsRequiresMapping(); 963 964 private boolean __requiresMapping28a; 965 private boolean __requiresMapping28aSet = false; 966 967 /** 968 * Indicates if this entity requires a mapping of its own. 969 * @return (boolean)handleIsRequiresMapping() 970 */ 971 public final boolean isRequiresMapping() 972 { 973 boolean requiresMapping28a = this.__requiresMapping28a; 974 if (!this.__requiresMapping28aSet) 975 { 976 // requiresMapping has no pre constraints 977 requiresMapping28a = handleIsRequiresMapping(); 978 // requiresMapping has no post constraints 979 this.__requiresMapping28a = requiresMapping28a; 980 if (isMetafacadePropertyCachingEnabled()) 981 { 982 this.__requiresMapping28aSet = true; 983 } 984 } 985 return requiresMapping28a; 986 } 987 988 /** 989 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isRequiresSpecializationMapping() 990 * @return boolean 991 */ 992 protected abstract boolean handleIsRequiresSpecializationMapping(); 993 994 private boolean __requiresSpecializationMapping29a; 995 private boolean __requiresSpecializationMapping29aSet = false; 996 997 /** 998 * Indicates if the entity requires specialization mappng. This happens when the inheritance 999 * strategy is "subclass", or "class". 1000 * @return (boolean)handleIsRequiresSpecializationMapping() 1001 */ 1002 public final boolean isRequiresSpecializationMapping() 1003 { 1004 boolean requiresSpecializationMapping29a = this.__requiresSpecializationMapping29a; 1005 if (!this.__requiresSpecializationMapping29aSet) 1006 { 1007 // requiresSpecializationMapping has no pre constraints 1008 requiresSpecializationMapping29a = handleIsRequiresSpecializationMapping(); 1009 // requiresSpecializationMapping has no post constraints 1010 this.__requiresSpecializationMapping29a = requiresSpecializationMapping29a; 1011 if (isMetafacadePropertyCachingEnabled()) 1012 { 1013 this.__requiresSpecializationMapping29aSet = true; 1014 } 1015 } 1016 return requiresSpecializationMapping29a; 1017 } 1018 1019 /** 1020 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isDynamicInsert() 1021 * @return boolean 1022 */ 1023 protected abstract boolean handleIsDynamicInsert(); 1024 1025 private boolean __dynamicInsert30a; 1026 private boolean __dynamicInsert30aSet = false; 1027 1028 /** 1029 * Specifies if hibernate dynamic-insert will be enabled / disabled for this entity 1030 * @return (boolean)handleIsDynamicInsert() 1031 */ 1032 public final boolean isDynamicInsert() 1033 { 1034 boolean dynamicInsert30a = this.__dynamicInsert30a; 1035 if (!this.__dynamicInsert30aSet) 1036 { 1037 // dynamicInsert has no pre constraints 1038 dynamicInsert30a = handleIsDynamicInsert(); 1039 // dynamicInsert has no post constraints 1040 this.__dynamicInsert30a = dynamicInsert30a; 1041 if (isMetafacadePropertyCachingEnabled()) 1042 { 1043 this.__dynamicInsert30aSet = true; 1044 } 1045 } 1046 return dynamicInsert30a; 1047 } 1048 1049 /** 1050 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isDynamicUpdate() 1051 * @return boolean 1052 */ 1053 protected abstract boolean handleIsDynamicUpdate(); 1054 1055 private boolean __dynamicUpdate31a; 1056 private boolean __dynamicUpdate31aSet = false; 1057 1058 /** 1059 * Specifies if hibernate dynamic-update will be enabled / disabled for this entity 1060 * @return (boolean)handleIsDynamicUpdate() 1061 */ 1062 public final boolean isDynamicUpdate() 1063 { 1064 boolean dynamicUpdate31a = this.__dynamicUpdate31a; 1065 if (!this.__dynamicUpdate31aSet) 1066 { 1067 // dynamicUpdate has no pre constraints 1068 dynamicUpdate31a = handleIsDynamicUpdate(); 1069 // dynamicUpdate has no post constraints 1070 this.__dynamicUpdate31a = dynamicUpdate31a; 1071 if (isMetafacadePropertyCachingEnabled()) 1072 { 1073 this.__dynamicUpdate31aSet = true; 1074 } 1075 } 1076 return dynamicUpdate31a; 1077 } 1078 1079 /** 1080 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isMappingRequiresSuperProperties() 1081 * @return boolean 1082 */ 1083 protected abstract boolean handleIsMappingRequiresSuperProperties(); 1084 1085 private boolean __mappingRequiresSuperProperties32a; 1086 private boolean __mappingRequiresSuperProperties32aSet = false; 1087 1088 /** 1089 * Indicates whether or not the mapping for the the entity requires the properties of the super 1090 * entity to be included within the mapping. If this evalutes to true, then the properties of 1091 * this entity would be rendered into the specialization's mapping file. 1092 * @return (boolean)handleIsMappingRequiresSuperProperties() 1093 */ 1094 public final boolean isMappingRequiresSuperProperties() 1095 { 1096 boolean mappingRequiresSuperProperties32a = this.__mappingRequiresSuperProperties32a; 1097 if (!this.__mappingRequiresSuperProperties32aSet) 1098 { 1099 // mappingRequiresSuperProperties has no pre constraints 1100 mappingRequiresSuperProperties32a = handleIsMappingRequiresSuperProperties(); 1101 // mappingRequiresSuperProperties has no post constraints 1102 this.__mappingRequiresSuperProperties32a = mappingRequiresSuperProperties32a; 1103 if (isMetafacadePropertyCachingEnabled()) 1104 { 1105 this.__mappingRequiresSuperProperties32aSet = true; 1106 } 1107 } 1108 return mappingRequiresSuperProperties32a; 1109 } 1110 1111 /** 1112 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getHibernateVersionProperty() 1113 * @return String 1114 */ 1115 protected abstract String handleGetHibernateVersionProperty(); 1116 1117 private String __hibernateVersionProperty33a; 1118 private boolean __hibernateVersionProperty33aSet = false; 1119 1120 /** 1121 * Stores the value of the Hibernate version property. 1122 * @return (String)handleGetHibernateVersionProperty() 1123 */ 1124 public final String getHibernateVersionProperty() 1125 { 1126 String hibernateVersionProperty33a = this.__hibernateVersionProperty33a; 1127 if (!this.__hibernateVersionProperty33aSet) 1128 { 1129 // hibernateVersionProperty has no pre constraints 1130 hibernateVersionProperty33a = handleGetHibernateVersionProperty(); 1131 // hibernateVersionProperty has no post constraints 1132 this.__hibernateVersionProperty33a = hibernateVersionProperty33a; 1133 if (isMetafacadePropertyCachingEnabled()) 1134 { 1135 this.__hibernateVersionProperty33aSet = true; 1136 } 1137 } 1138 return hibernateVersionProperty33a; 1139 } 1140 1141 /** 1142 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isHibernateInheritanceUnionSubClass() 1143 * @return boolean 1144 */ 1145 protected abstract boolean handleIsHibernateInheritanceUnionSubClass(); 1146 1147 private boolean __hibernateInheritanceUnionSubClass34a; 1148 private boolean __hibernateInheritanceUnionSubClass34aSet = false; 1149 1150 /** 1151 * TODO: Model Documentation for 1152 * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.hibernateInheritanceUnionSubClass 1153 * @return (boolean)handleIsHibernateInheritanceUnionSubClass() 1154 */ 1155 public final boolean isHibernateInheritanceUnionSubClass() 1156 { 1157 boolean hibernateInheritanceUnionSubClass34a = this.__hibernateInheritanceUnionSubClass34a; 1158 if (!this.__hibernateInheritanceUnionSubClass34aSet) 1159 { 1160 // hibernateInheritanceUnionSubClass has no pre constraints 1161 hibernateInheritanceUnionSubClass34a = handleIsHibernateInheritanceUnionSubClass(); 1162 // hibernateInheritanceUnionSubClass has no post constraints 1163 this.__hibernateInheritanceUnionSubClass34a = hibernateInheritanceUnionSubClass34a; 1164 if (isMetafacadePropertyCachingEnabled()) 1165 { 1166 this.__hibernateInheritanceUnionSubClass34aSet = true; 1167 } 1168 } 1169 return hibernateInheritanceUnionSubClass34a; 1170 } 1171 1172 /** 1173 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isLazy() 1174 * @return boolean 1175 */ 1176 protected abstract boolean handleIsLazy(); 1177 1178 private boolean __lazy35a; 1179 private boolean __lazy35aSet = false; 1180 1181 /** 1182 * Specifies whether the entity should be loaded lazily. 1183 * @return (boolean)handleIsLazy() 1184 */ 1185 public final boolean isLazy() 1186 { 1187 boolean lazy35a = this.__lazy35a; 1188 if (!this.__lazy35aSet) 1189 { 1190 // lazy has no pre constraints 1191 lazy35a = handleIsLazy(); 1192 // lazy has no post constraints 1193 this.__lazy35a = lazy35a; 1194 if (isMetafacadePropertyCachingEnabled()) 1195 { 1196 this.__lazy35aSet = true; 1197 } 1198 } 1199 return lazy35a; 1200 } 1201 1202 /** 1203 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getXmlTagName() 1204 * @return String 1205 */ 1206 protected abstract String handleGetXmlTagName(); 1207 1208 private String __xmlTagName36a; 1209 private boolean __xmlTagName36aSet = false; 1210 1211 /** 1212 * TODO: Model Documentation for 1213 * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.xmlTagName 1214 * @return (String)handleGetXmlTagName() 1215 */ 1216 public final String getXmlTagName() 1217 { 1218 String xmlTagName36a = this.__xmlTagName36a; 1219 if (!this.__xmlTagName36aSet) 1220 { 1221 // xmlTagName has no pre constraints 1222 xmlTagName36a = handleGetXmlTagName(); 1223 // xmlTagName has no post constraints 1224 this.__xmlTagName36a = xmlTagName36a; 1225 if (isMetafacadePropertyCachingEnabled()) 1226 { 1227 this.__xmlTagName36aSet = true; 1228 } 1229 } 1230 return xmlTagName36a; 1231 } 1232 1233 /** 1234 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getVersion() 1235 * @return int 1236 */ 1237 protected abstract int handleGetVersion(); 1238 1239 private int __version37a; 1240 private boolean __version37aSet = false; 1241 1242 /** 1243 * TODO: Model Documentation for 1244 * org.andromda.cartridges.hibernate.metafacades.HibernateEntity.version 1245 * @return (int)handleGetVersion() 1246 */ 1247 public final int getVersion() 1248 { 1249 int version37a = this.__version37a; 1250 if (!this.__version37aSet) 1251 { 1252 // version has no pre constraints 1253 version37a = handleGetVersion(); 1254 // version has no post constraints 1255 this.__version37a = version37a; 1256 if (isMetafacadePropertyCachingEnabled()) 1257 { 1258 this.__version37aSet = true; 1259 } 1260 } 1261 return version37a; 1262 } 1263 1264 /** 1265 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#isHibernateCacheDistributed() 1266 * @return boolean 1267 */ 1268 protected abstract boolean handleIsHibernateCacheDistributed(); 1269 1270 private boolean __hibernateCacheDistributed38a; 1271 private boolean __hibernateCacheDistributed38aSet = false; 1272 1273 /** 1274 * Specifies whether the cache for this entity is to be distributed. 1275 * @return (boolean)handleIsHibernateCacheDistributed() 1276 */ 1277 public final boolean isHibernateCacheDistributed() 1278 { 1279 boolean hibernateCacheDistributed38a = this.__hibernateCacheDistributed38a; 1280 if (!this.__hibernateCacheDistributed38aSet) 1281 { 1282 // hibernateCacheDistributed has no pre constraints 1283 hibernateCacheDistributed38a = handleIsHibernateCacheDistributed(); 1284 // hibernateCacheDistributed has no post constraints 1285 this.__hibernateCacheDistributed38a = hibernateCacheDistributed38a; 1286 if (isMetafacadePropertyCachingEnabled()) 1287 { 1288 this.__hibernateCacheDistributed38aSet = true; 1289 } 1290 } 1291 return hibernateCacheDistributed38a; 1292 } 1293 1294 /** 1295 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getHibernateDiscriminatorValue() 1296 * @return String 1297 */ 1298 protected abstract String handleGetHibernateDiscriminatorValue(); 1299 1300 private String __hibernateDiscriminatorValue39a; 1301 private boolean __hibernateDiscriminatorValue39aSet = false; 1302 1303 /** 1304 * The name of the discriminator value. Default is the name of the class 1305 * @return (String)handleGetHibernateDiscriminatorValue() 1306 */ 1307 public final String getHibernateDiscriminatorValue() 1308 { 1309 String hibernateDiscriminatorValue39a = this.__hibernateDiscriminatorValue39a; 1310 if (!this.__hibernateDiscriminatorValue39aSet) 1311 { 1312 // hibernateDiscriminatorValue has no pre constraints 1313 hibernateDiscriminatorValue39a = handleGetHibernateDiscriminatorValue(); 1314 // hibernateDiscriminatorValue has no post constraints 1315 this.__hibernateDiscriminatorValue39a = hibernateDiscriminatorValue39a; 1316 if (isMetafacadePropertyCachingEnabled()) 1317 { 1318 this.__hibernateDiscriminatorValue39aSet = true; 1319 } 1320 } 1321 return hibernateDiscriminatorValue39a; 1322 } 1323 1324 /** 1325 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getHibernateVersionPropertySqlName() 1326 * @return String 1327 */ 1328 protected abstract String handleGetHibernateVersionPropertySqlName(); 1329 1330 private String __hibernateVersionPropertySqlName40a; 1331 private boolean __hibernateVersionPropertySqlName40aSet = false; 1332 1333 /** 1334 * The SQL name of the hibernate version property. 1335 * @return (String)handleGetHibernateVersionPropertySqlName() 1336 */ 1337 public final String getHibernateVersionPropertySqlName() 1338 { 1339 String hibernateVersionPropertySqlName40a = this.__hibernateVersionPropertySqlName40a; 1340 if (!this.__hibernateVersionPropertySqlName40aSet) 1341 { 1342 // hibernateVersionPropertySqlName has no pre constraints 1343 hibernateVersionPropertySqlName40a = handleGetHibernateVersionPropertySqlName(); 1344 // hibernateVersionPropertySqlName has no post constraints 1345 this.__hibernateVersionPropertySqlName40a = hibernateVersionPropertySqlName40a; 1346 if (isMetafacadePropertyCachingEnabled()) 1347 { 1348 this.__hibernateVersionPropertySqlName40aSet = true; 1349 } 1350 } 1351 return hibernateVersionPropertySqlName40a; 1352 } 1353 1354 /** 1355 * @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getSequenceName() 1356 * @return String 1357 */ 1358 protected abstract String handleGetSequenceName(); 1359 1360 private String __sequenceName41a; 1361 private boolean __sequenceName41aSet = false; 1362 1363 /** 1364 * Gets the sequence name. 1365 * @return (String)handleGetSequenceName() 1366 */ 1367 public final String getSequenceName() 1368 { 1369 String sequenceName41a = this.__sequenceName41a; 1370 if (!this.__sequenceName41aSet) 1371 { 1372 // sequenceName has no pre constraints 1373 sequenceName41a = handleGetSequenceName(); 1374 // sequenceName has no post constraints 1375 this.__sequenceName41a = sequenceName41a; 1376 if (isMetafacadePropertyCachingEnabled()) 1377 { 1378 this.__sequenceName41aSet = true; 1379 } 1380 } 1381 return sequenceName41a; 1382 } 1383 1384 // ---------------- business methods ---------------------- 1385 1386 /** 1387 * Method to be implemented in descendants 1388 * Return all the user defined operations for this entity. Used when leafImpl is true. 1389 * @return Collection 1390 */ 1391 protected abstract Collection handleGetAllBusinessOperations(); 1392 1393 /** 1394 * Return all the user defined operations for this entity. Used when leafImpl is true. 1395 * @return handleGetAllBusinessOperations() 1396 */ 1397 public Collection getAllBusinessOperations() 1398 { 1399 // getAllBusinessOperations has no pre constraints 1400 Collection returnValue = handleGetAllBusinessOperations(); 1401 // getAllBusinessOperations has no post constraints 1402 return returnValue; 1403 } 1404 1405 /** 1406 * @return true 1407 * @see Entity 1408 */ 1409 public boolean isEntityMetaType() 1410 { 1411 return true; 1412 } 1413 1414 /** 1415 * @return true 1416 * @see ClassifierFacade 1417 */ 1418 public boolean isClassifierFacadeMetaType() 1419 { 1420 return true; 1421 } 1422 1423 /** 1424 * @return true 1425 * @see GeneralizableElementFacade 1426 */ 1427 public boolean isGeneralizableElementFacadeMetaType() 1428 { 1429 return true; 1430 } 1431 1432 /** 1433 * @return true 1434 * @see ModelElementFacade 1435 */ 1436 public boolean isModelElementFacadeMetaType() 1437 { 1438 return true; 1439 } 1440 1441 // ----------- delegates to Entity ------------ 1442 /** 1443 * Return the attribute which name matches the parameter 1444 * @see ClassifierFacade#findAttribute(String name) 1445 */ 1446 public AttributeFacade findAttribute(String name) 1447 { 1448 return this.getSuperEntity().findAttribute(name); 1449 } 1450 1451 /** 1452 * Those abstraction dependencies for which this classifier is the client. 1453 * @see ClassifierFacade#getAbstractions() 1454 */ 1455 public Collection<ClassifierFacade> getAbstractions() 1456 { 1457 return this.getSuperEntity().getAbstractions(); 1458 } 1459 1460 /** 1461 * Lists all classes associated to this one and any ancestor classes (through generalization). 1462 * There will be no duplicates. The order of the elements is predictable. 1463 * @see ClassifierFacade#getAllAssociatedClasses() 1464 */ 1465 public Collection<ClassifierFacade> getAllAssociatedClasses() 1466 { 1467 return this.getSuperEntity().getAllAssociatedClasses(); 1468 } 1469 1470 /** 1471 * A collection containing all 'properties' of the classifier and its ancestors. Properties are 1472 * any attributes and navigable connecting association ends. 1473 * @see ClassifierFacade#getAllProperties() 1474 */ 1475 public Collection<ModelElementFacade> getAllProperties() 1476 { 1477 return this.getSuperEntity().getAllProperties(); 1478 } 1479 1480 /** 1481 * A collection containing all required and/or read-only 'properties' of the classifier and its 1482 * ancestors. Properties are any attributes and navigable connecting association ends. 1483 * @see ClassifierFacade#getAllRequiredConstructorParameters() 1484 */ 1485 public Collection<ModelElementFacade> getAllRequiredConstructorParameters() 1486 { 1487 return this.getSuperEntity().getAllRequiredConstructorParameters(); 1488 } 1489 1490 /** 1491 * Gets the array type for this classifier. If this classifier already represents an array, it 1492 * just returns itself. 1493 * @see ClassifierFacade#getArray() 1494 */ 1495 public ClassifierFacade getArray() 1496 { 1497 return this.getSuperEntity().getArray(); 1498 } 1499 1500 /** 1501 * The name of the classifier as an array. 1502 * @see ClassifierFacade#getArrayName() 1503 */ 1504 public String getArrayName() 1505 { 1506 return this.getSuperEntity().getArrayName(); 1507 } 1508 1509 /** 1510 * Lists the classes associated to this one, there is no repitition of classes. The order of the 1511 * elements is predictable. 1512 * @see ClassifierFacade#getAssociatedClasses() 1513 */ 1514 public Collection<ClassifierFacade> getAssociatedClasses() 1515 { 1516 return this.getSuperEntity().getAssociatedClasses(); 1517 } 1518 1519 /** 1520 * Gets the association ends belonging to a classifier. 1521 * @see ClassifierFacade#getAssociationEnds() 1522 */ 1523 public List<AssociationEndFacade> getAssociationEnds() 1524 { 1525 return this.getSuperEntity().getAssociationEnds(); 1526 } 1527 1528 /** 1529 * Gets the attributes that belong to the classifier. 1530 * @see ClassifierFacade#getAttributes() 1531 */ 1532 public List<AttributeFacade> getAttributes() 1533 { 1534 return this.getSuperEntity().getAttributes(); 1535 } 1536 1537 /** 1538 * Gets all attributes for the classifier and if 'follow' is true goes up the inheritance 1539 * hierarchy and gets the attributes from the super classes as well. 1540 * @see ClassifierFacade#getAttributes(boolean follow) 1541 */ 1542 public List<AttributeFacade> getAttributes(boolean follow) 1543 { 1544 return this.getSuperEntity().getAttributes(follow); 1545 } 1546 1547 /** 1548 * The fully qualified name of the classifier as an array. 1549 * @see ClassifierFacade#getFullyQualifiedArrayName() 1550 */ 1551 public String getFullyQualifiedArrayName() 1552 { 1553 return this.getSuperEntity().getFullyQualifiedArrayName(); 1554 } 1555 1556 /** 1557 * Returns all those operations that could be implemented at this classifier's level. This means 1558 * the operations owned by this classifier as well as any realized interface's operations 1559 * (recursively) in case this classifier itself is not already an interface, or generalized when 1560 * this classifier is an interface. 1561 * @see ClassifierFacade#getImplementationOperations() 1562 */ 1563 public Collection<OperationFacade> getImplementationOperations() 1564 { 1565 return this.getSuperEntity().getImplementationOperations(); 1566 } 1567 1568 /** 1569 * A comma separated list of the fully qualified names of all implemented interfaces. 1570 * @see ClassifierFacade#getImplementedInterfaceList() 1571 */ 1572 public String getImplementedInterfaceList() 1573 { 1574 return this.getSuperEntity().getImplementedInterfaceList(); 1575 } 1576 1577 /** 1578 * Those attributes that are scoped to an instance of this class. 1579 * @see ClassifierFacade#getInstanceAttributes() 1580 */ 1581 public Collection<AttributeFacade> getInstanceAttributes() 1582 { 1583 return this.getSuperEntity().getInstanceAttributes(); 1584 } 1585 1586 /** 1587 * Those operations that are scoped to an instance of this class. 1588 * @see ClassifierFacade#getInstanceOperations() 1589 */ 1590 public List<OperationFacade> getInstanceOperations() 1591 { 1592 return this.getSuperEntity().getInstanceOperations(); 1593 } 1594 1595 /** 1596 * Those interfaces that are abstractions of this classifier, this basically means this 1597 * classifier realizes them. 1598 * @see ClassifierFacade#getInterfaceAbstractions() 1599 */ 1600 public Collection<ClassifierFacade> getInterfaceAbstractions() 1601 { 1602 return this.getSuperEntity().getInterfaceAbstractions(); 1603 } 1604 1605 /** 1606 * A String representing a new Constructor declaration for this classifier type to be used in a 1607 * Java environment. 1608 * @see ClassifierFacade#getJavaNewString() 1609 */ 1610 public String getJavaNewString() 1611 { 1612 return this.getSuperEntity().getJavaNewString(); 1613 } 1614 1615 /** 1616 * A String representing the null-value for this classifier type to be used in a Java 1617 * environment. 1618 * @see ClassifierFacade#getJavaNullString() 1619 */ 1620 public String getJavaNullString() 1621 { 1622 return this.getSuperEntity().getJavaNullString(); 1623 } 1624 1625 /** 1626 * The other ends of this classifier's association ends which are navigable. 1627 * @see ClassifierFacade#getNavigableConnectingEnds() 1628 */ 1629 public Collection<AssociationEndFacade> getNavigableConnectingEnds() 1630 { 1631 return this.getSuperEntity().getNavigableConnectingEnds(); 1632 } 1633 1634 /** 1635 * Get the other ends of this classifier's association ends which are navigable and if 'follow' 1636 * is true goes up the inheritance hierarchy and gets the super association ends as well. 1637 * @see ClassifierFacade#getNavigableConnectingEnds(boolean follow) 1638 */ 1639 public List<AssociationEndFacade> getNavigableConnectingEnds(boolean follow) 1640 { 1641 return this.getSuperEntity().getNavigableConnectingEnds(follow); 1642 } 1643 1644 /** 1645 * Assuming that the classifier is an array, this will return the non array type of the 1646 * classifier from 1647 * the model. If the classifier is NOT an array, it will just return itself. 1648 * @see ClassifierFacade#getNonArray() 1649 */ 1650 public ClassifierFacade getNonArray() 1651 { 1652 return this.getSuperEntity().getNonArray(); 1653 } 1654 1655 /** 1656 * The attributes from this classifier in the form of an operation call (this example would be 1657 * in Java): '(String attributeOne, String attributeTwo). If there were no attributes on the 1658 * classifier, the result would be an empty '()'. 1659 * @see ClassifierFacade#getOperationCallFromAttributes() 1660 */ 1661 public String getOperationCallFromAttributes() 1662 { 1663 return this.getSuperEntity().getOperationCallFromAttributes(); 1664 } 1665 1666 /** 1667 * The operations owned by this classifier. 1668 * @see ClassifierFacade#getOperations() 1669 */ 1670 public List<OperationFacade> getOperations() 1671 { 1672 return this.getSuperEntity().getOperations(); 1673 } 1674 1675 /** 1676 * A collection containing all 'properties' of the classifier. Properties are any attributes 1677 * and navigable connecting association ends. 1678 * @see ClassifierFacade#getProperties() 1679 */ 1680 public List<ModelElementFacade> getProperties() 1681 { 1682 return this.getSuperEntity().getProperties(); 1683 } 1684 1685 /** 1686 * Gets all properties (attributes and navigable association ends) for the classifier and if 1687 * 'follow' is true goes up the inheritance hierarchy and gets the properties from the super 1688 * classes as well. 1689 * @see ClassifierFacade#getProperties(boolean follow) 1690 */ 1691 public List getProperties(boolean follow) 1692 { 1693 return this.getSuperEntity().getProperties(follow); 1694 } 1695 1696 /** 1697 * A collection containing all required and/or read-only 'properties' of the classifier. 1698 * Properties are any attributes and navigable connecting association ends. 1699 * @see ClassifierFacade#getRequiredConstructorParameters() 1700 */ 1701 public Collection<ModelElementFacade> getRequiredConstructorParameters() 1702 { 1703 return this.getSuperEntity().getRequiredConstructorParameters(); 1704 } 1705 1706 /** 1707 * Returns the serial version UID of the underlying model element. 1708 * @see ClassifierFacade#getSerialVersionUID() 1709 */ 1710 public long getSerialVersionUID() 1711 { 1712 return this.getSuperEntity().getSerialVersionUID(); 1713 } 1714 1715 /** 1716 * Those attributes that are scoped to the definition of this class. 1717 * @see ClassifierFacade#getStaticAttributes() 1718 */ 1719 public Collection<AttributeFacade> getStaticAttributes() 1720 { 1721 return this.getSuperEntity().getStaticAttributes(); 1722 } 1723 1724 /** 1725 * Those operations that are scoped to the definition of this class. 1726 * @see ClassifierFacade#getStaticOperations() 1727 */ 1728 public List<OperationFacade> getStaticOperations() 1729 { 1730 return this.getSuperEntity().getStaticOperations(); 1731 } 1732 1733 /** 1734 * This class' superclass, returns the generalization if it is a ClassifierFacade, null 1735 * otherwise. 1736 * @see ClassifierFacade#getSuperClass() 1737 */ 1738 public ClassifierFacade getSuperClass() 1739 { 1740 return this.getSuperEntity().getSuperClass(); 1741 } 1742 1743 /** 1744 * The wrapper name for this classifier if a mapped type has a defined wrapper class (ie. 'long' 1745 * maps to 'Long'). If the classifier doesn't have a wrapper defined for it, this method will 1746 * return a null. Note that wrapper mappings must be defined for the namespace by defining the 1747 * 'wrapperMappingsUri', this property must point to the location of the mappings file which 1748 * maps the primitives to wrapper types. 1749 * @see ClassifierFacade#getWrapperName() 1750 */ 1751 public String getWrapperName() 1752 { 1753 return this.getSuperEntity().getWrapperName(); 1754 } 1755 1756 /** 1757 * Indicates if this classifier is 'abstract'. 1758 * @see ClassifierFacade#isAbstract() 1759 */ 1760 public boolean isAbstract() 1761 { 1762 return this.getSuperEntity().isAbstract(); 1763 } 1764 1765 /** 1766 * True if this classifier represents an array type. False otherwise. 1767 * @see ClassifierFacade#isArrayType() 1768 */ 1769 public boolean isArrayType() 1770 { 1771 return this.getSuperEntity().isArrayType(); 1772 } 1773 1774 /** 1775 * True if the ClassifierFacade is an AssociationClass. 1776 * @see ClassifierFacade#isAssociationClass() 1777 */ 1778 public boolean isAssociationClass() 1779 { 1780 return this.getSuperEntity().isAssociationClass(); 1781 } 1782 1783 /** 1784 * Returns true if this type represents a Blob type. 1785 * @see ClassifierFacade#isBlobType() 1786 */ 1787 public boolean isBlobType() 1788 { 1789 return this.getSuperEntity().isBlobType(); 1790 } 1791 1792 /** 1793 * Indicates if this type represents a boolean type or not. 1794 * @see ClassifierFacade#isBooleanType() 1795 */ 1796 public boolean isBooleanType() 1797 { 1798 return this.getSuperEntity().isBooleanType(); 1799 } 1800 1801 /** 1802 * Indicates if this type represents a char, Character, or java.lang.Character type or not. 1803 * @see ClassifierFacade#isCharacterType() 1804 */ 1805 public boolean isCharacterType() 1806 { 1807 return this.getSuperEntity().isCharacterType(); 1808 } 1809 1810 /** 1811 * Returns true if this type represents a Clob type. 1812 * @see ClassifierFacade#isClobType() 1813 */ 1814 public boolean isClobType() 1815 { 1816 return this.getSuperEntity().isClobType(); 1817 } 1818 1819 /** 1820 * True if this classifier represents a collection type. False otherwise. 1821 * @see ClassifierFacade#isCollectionType() 1822 */ 1823 public boolean isCollectionType() 1824 { 1825 return this.getSuperEntity().isCollectionType(); 1826 } 1827 1828 /** 1829 * True/false depending on whether or not this classifier represents a datatype. A data type is 1830 * a type whose instances are identified only by their value. A data type may contain attributes 1831 * to support the modeling of structured data types. 1832 * @see ClassifierFacade#isDataType() 1833 */ 1834 public boolean isDataType() 1835 { 1836 return this.getSuperEntity().isDataType(); 1837 } 1838 1839 /** 1840 * True when this classifier is a date type. 1841 * @see ClassifierFacade#isDateType() 1842 */ 1843 public boolean isDateType() 1844 { 1845 return this.getSuperEntity().isDateType(); 1846 } 1847 1848 /** 1849 * Indicates if this type represents a Double type or not. 1850 * @see ClassifierFacade#isDoubleType() 1851 */ 1852 public boolean isDoubleType() 1853 { 1854 return this.getSuperEntity().isDoubleType(); 1855 } 1856 1857 /** 1858 * Indicates whether or not this classifier represents an "EmbeddedValue'. 1859 * @see ClassifierFacade#isEmbeddedValue() 1860 */ 1861 public boolean isEmbeddedValue() 1862 { 1863 return this.getSuperEntity().isEmbeddedValue(); 1864 } 1865 1866 /** 1867 * True if this classifier is in fact marked as an enumeration. 1868 * @see ClassifierFacade#isEnumeration() 1869 */ 1870 public boolean isEnumeration() 1871 { 1872 return this.getSuperEntity().isEnumeration(); 1873 } 1874 1875 /** 1876 * Returns true if this type represents a 'file' type. 1877 * @see ClassifierFacade#isFileType() 1878 */ 1879 public boolean isFileType() 1880 { 1881 return this.getSuperEntity().isFileType(); 1882 } 1883 1884 /** 1885 * Indicates if this type represents a Float type or not. 1886 * @see ClassifierFacade#isFloatType() 1887 */ 1888 public boolean isFloatType() 1889 { 1890 return this.getSuperEntity().isFloatType(); 1891 } 1892 1893 /** 1894 * Indicates if this type represents an int or Integer or java.lang.Integer type or not. 1895 * @see ClassifierFacade#isIntegerType() 1896 */ 1897 public boolean isIntegerType() 1898 { 1899 return this.getSuperEntity().isIntegerType(); 1900 } 1901 1902 /** 1903 * True/false depending on whether or not this Classifier represents an interface. 1904 * @see ClassifierFacade#isInterface() 1905 */ 1906 public boolean isInterface() 1907 { 1908 return this.getSuperEntity().isInterface(); 1909 } 1910 1911 /** 1912 * True if this classifier cannot be extended and represent a leaf in the inheritance tree. 1913 * @see ClassifierFacade#isLeaf() 1914 */ 1915 public boolean isLeaf() 1916 { 1917 return this.getSuperEntity().isLeaf(); 1918 } 1919 1920 /** 1921 * True if this classifier represents a list type. False otherwise. 1922 * @see ClassifierFacade#isListType() 1923 */ 1924 public boolean isListType() 1925 { 1926 return this.getSuperEntity().isListType(); 1927 } 1928 1929 /** 1930 * Indicates if this type represents a Long type or not. 1931 * @see ClassifierFacade#isLongType() 1932 */ 1933 public boolean isLongType() 1934 { 1935 return this.getSuperEntity().isLongType(); 1936 } 1937 1938 /** 1939 * Indicates whether or not this classifier represents a Map type. 1940 * @see ClassifierFacade#isMapType() 1941 */ 1942 public boolean isMapType() 1943 { 1944 return this.getSuperEntity().isMapType(); 1945 } 1946 1947 /** 1948 * Indicates whether or not this classifier represents a primitive type. 1949 * @see ClassifierFacade#isPrimitive() 1950 */ 1951 public boolean isPrimitive() 1952 { 1953 return this.getSuperEntity().isPrimitive(); 1954 } 1955 1956 /** 1957 * True if this classifier represents a set type. False otherwise. 1958 * @see ClassifierFacade#isSetType() 1959 */ 1960 public boolean isSetType() 1961 { 1962 return this.getSuperEntity().isSetType(); 1963 } 1964 1965 /** 1966 * Indicates whether or not this classifier represents a string type. 1967 * @see ClassifierFacade#isStringType() 1968 */ 1969 public boolean isStringType() 1970 { 1971 return this.getSuperEntity().isStringType(); 1972 } 1973 1974 /** 1975 * Indicates whether or not this classifier represents a time type. 1976 * @see ClassifierFacade#isTimeType() 1977 */ 1978 public boolean isTimeType() 1979 { 1980 return this.getSuperEntity().isTimeType(); 1981 } 1982 1983 /** 1984 * Returns true if this type is a wrapped primitive type. 1985 * @see ClassifierFacade#isWrappedPrimitive() 1986 */ 1987 public boolean isWrappedPrimitive() 1988 { 1989 return this.getSuperEntity().isWrappedPrimitive(); 1990 } 1991 1992 /** 1993 * Returns a collection of all entities this entity and its ancestors have a relation to. 1994 * @see Entity#getAllEntityReferences() 1995 */ 1996 public Collection<DependencyFacade> getAllEntityReferences() 1997 { 1998 return this.getSuperEntity().getAllEntityReferences(); 1999 } 2000 2001 /** 2002 * Gets a comma separated list of attribute names. If 'follow' is true, will travel up the 2003 * inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers' 2004 * is true, will include identifiers. 2005 * @see Entity#getAttributeNameList(boolean follow, boolean withIdentifiers) 2006 */ 2007 public String getAttributeNameList(boolean follow, boolean withIdentifiers) 2008 { 2009 return this.getSuperEntity().getAttributeNameList(follow, withIdentifiers); 2010 } 2011 2012 /** 2013 * Gets a comma separated list of attribute names. If 'follow' is true, will travel up the 2014 * inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers' 2015 * is true, will include identifiers and if 'withDerived' is set to true, will include derived 2016 * attributes. 2017 * @see Entity#getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived) 2018 */ 2019 public String getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived) 2020 { 2021 return this.getSuperEntity().getAttributeNameList(follow, withIdentifiers, withDerived); 2022 } 2023 2024 /** 2025 * Gets a comma separated list of attribute types. If 'follow' is true, will travel up the 2026 * inheritance hierarchy to include attributes in parent entities as well. If 'withIdentifiers' 2027 * is true, will include identifiers. 2028 * @see Entity#getAttributeTypeList(boolean follow, boolean withIdentifiers) 2029 */ 2030 public String getAttributeTypeList(boolean follow, boolean withIdentifiers) 2031 { 2032 return this.getSuperEntity().getAttributeTypeList(follow, withIdentifiers); 2033 } 2034 2035 /** 2036 * Gets all attributes of the entity, and optionally retieves the super entities attributes as 2037 * well as excludes the entity's identifiers if 'withIdentifiers' is set to false. 2038 * @see Entity#getAttributes(boolean follow, boolean withIdentifiers) 2039 */ 2040 public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers) 2041 { 2042 return this.getSuperEntity().getAttributes(follow, withIdentifiers); 2043 } 2044 2045 /** 2046 * Gets all attributes of the entity, and optionally retieves the super entities attributes as 2047 * well as excludes the entity's identifiers if 'withIdentifiers' is set to false and exclude 2048 * derived attributes if 'withDerived' is set to false. 2049 * @see Entity#getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived) 2050 */ 2051 public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived) 2052 { 2053 return this.getSuperEntity().getAttributes(follow, withIdentifiers, withDerived); 2054 } 2055 2056 /** 2057 * All business operations of the entity, these include any operations that aren't queries. 2058 * @see Entity#getBusinessOperations() 2059 */ 2060 public Collection<OperationFacade> getBusinessOperations() 2061 { 2062 return this.getSuperEntity().getBusinessOperations(); 2063 } 2064 2065 /** 2066 * Gets any children association ends (i.e. entity association ends that are participants in an 2067 * association with this entity and this entity has composite aggregation defined for those 2068 * associations). 2069 * @see Entity#getChildEnds() 2070 */ 2071 public Collection<EntityAssociationEnd> getChildEnds() 2072 { 2073 return this.getSuperEntity().getChildEnds(); 2074 } 2075 2076 /** 2077 * The embedded values belonging to this entity. 2078 * @see Entity#getEmbeddedValues() 2079 */ 2080 public Collection<AttributeFacade> getEmbeddedValues() 2081 { 2082 return this.getSuperEntity().getEmbeddedValues(); 2083 } 2084 2085 /** 2086 * All entities referenced by this entity. 2087 * @see Entity#getEntityReferences() 2088 */ 2089 public Collection<DependencyFacade> getEntityReferences() 2090 { 2091 return this.getSuperEntity().getEntityReferences(); 2092 } 2093 2094 /** 2095 * The full name of the type of the identifier. If composite identifier add the PK sufix to the 2096 * class name. If not, retorns the fully qualified name of the identifier. 2097 * @see Entity#getFullyQualifiedIdentifierTypeName() 2098 */ 2099 public String getFullyQualifiedIdentifierTypeName() 2100 { 2101 return this.getSuperEntity().getFullyQualifiedIdentifierTypeName(); 2102 } 2103 2104 /** 2105 * Gets all the associationEnds of this entity marked with the identifiers stereotype. 2106 * @see Entity#getIdentifierAssociationEnds() 2107 */ 2108 public Collection<AssociationEndFacade> getIdentifierAssociationEnds() 2109 { 2110 return this.getSuperEntity().getIdentifierAssociationEnds(); 2111 } 2112 2113 /** 2114 * The getter name of the identifier. 2115 * @see Entity#getIdentifierGetterName() 2116 */ 2117 public String getIdentifierGetterName() 2118 { 2119 return this.getSuperEntity().getIdentifierGetterName(); 2120 } 2121 2122 /** 2123 * The name of the identifier. If composite identifier add the Pk suffix. If not composite 2124 * returns the attribute name of the identifier. 2125 * @see Entity#getIdentifierName() 2126 */ 2127 public String getIdentifierName() 2128 { 2129 return this.getSuperEntity().getIdentifierName(); 2130 } 2131 2132 /** 2133 * The setter name of the identifier. 2134 * @see Entity#getIdentifierSetterName() 2135 */ 2136 public String getIdentifierSetterName() 2137 { 2138 return this.getSuperEntity().getIdentifierSetterName(); 2139 } 2140 2141 /** 2142 * The name of the type of the identifier. If composite identifier add the PK suffix to the 2143 * class name. If not, returns the name of the identifier. 2144 * @see Entity#getIdentifierTypeName() 2145 */ 2146 public String getIdentifierTypeName() 2147 { 2148 return this.getSuperEntity().getIdentifierTypeName(); 2149 } 2150 2151 /** 2152 * All the attributes of the entity which make up its identifier (primary key). Will search any 2153 * super classes as well. If no identifiers exist, a default identifier will be created if the 2154 * allowDefaultIdentifiers property is set to true. 2155 * @see Entity#getIdentifiers() 2156 */ 2157 public Collection<ModelElementFacade> getIdentifiers() 2158 { 2159 return this.getSuperEntity().getIdentifiers(); 2160 } 2161 2162 /** 2163 * Gets all identifiers for an entity. If 'follow' is true, and if no identifiers can be found 2164 * on the entity, a search up the inheritance chain will be performed, and the identifiers from 2165 * the first super class having them will be used. If no identifiers exist, a default 2166 * identifier will be created if the allowDefaultIdentifiers property is set to true. 2167 * Identifiers can be on attributes or associations (composite primary key). 2168 * @see Entity#getIdentifiers(boolean follow) 2169 */ 2170 public Collection<ModelElementFacade> getIdentifiers(boolean follow) 2171 { 2172 return this.getSuperEntity().getIdentifiers(follow); 2173 } 2174 2175 /** 2176 * The maximum length a SQL name may be. 2177 * @see Entity#getMaxSqlNameLength() 2178 */ 2179 public short getMaxSqlNameLength() 2180 { 2181 return this.getSuperEntity().getMaxSqlNameLength(); 2182 } 2183 2184 /** 2185 * Gets the attributes as a list within an operation call, optionally including the type names 2186 * and the identifier attributes. 2187 * @see Entity#getOperationCallFromAttributes(boolean withIdentifiers) 2188 */ 2189 public String getOperationCallFromAttributes(boolean withIdentifiers) 2190 { 2191 return this.getSuperEntity().getOperationCallFromAttributes(withIdentifiers); 2192 } 2193 2194 /** 2195 * Gets the attributes as a list within an operation call. If 'withTypeNames' is true, it will 2196 * include the type names, if 'withIdentifiers' is true it will include the identifiers. If 2197 * 'follow' is true it will follow the inheritance hierarchy and get the attributes of the super 2198 * class as well. 2199 * @see Entity#getOperationCallFromAttributes(boolean withIdentifiers, boolean follow) 2200 */ 2201 public String getOperationCallFromAttributes(boolean withIdentifiers, boolean follow) 2202 { 2203 return this.getSuperEntity().getOperationCallFromAttributes(withIdentifiers, follow); 2204 } 2205 2206 /** 2207 * Returns the parent association end of this entity if its a child entity. The parent is the 2208 * entity that is the participant the association that has composite aggregation defined. Will 2209 * return null if the entity has no parent. 2210 * @see Entity#getParentEnd() 2211 */ 2212 public EntityAssociationEnd getParentEnd() 2213 { 2214 return this.getSuperEntity().getParentEnd(); 2215 } 2216 2217 /** 2218 * Gets all properties of this entity, this includes the attributes and navigable association 2219 * ends of the entity. The 'follow' flag indcates whether or not the inheritance hierarchy 2220 * should be followed when getting all the properties. The 'withIdentifiers' flag indicates 2221 * whether or not identifiers should be included in the collection of properties. 2222 * @see Entity#getProperties(boolean follow, boolean withIdentifiers) 2223 */ 2224 public Collection<ModelElementFacade> getProperties(boolean follow, boolean withIdentifiers) 2225 { 2226 return this.getSuperEntity().getProperties(follow, withIdentifiers); 2227 } 2228 2229 /** 2230 * Returns all the operations that can perform queries on the entity. 2231 * @see Entity#getQueryOperations() 2232 */ 2233 public Collection<EntityQueryOperation> getQueryOperations() 2234 { 2235 return this.getSuperEntity().getQueryOperations(); 2236 } 2237 2238 /** 2239 * Gets all query operations for an entity. If 'follow' is true, and if no query operations can 2240 * be found on the entity, a search up the inheritance chain will be performed, and the 2241 * identifiers from the first super class having them will be used. If no identifiers exist, a 2242 * default identifier will be created if the allowDefaultIdentifiers property is set to true. 2243 * @see Entity#getQueryOperations(boolean follow) 2244 */ 2245 public Collection<OperationFacade> getQueryOperations(boolean follow) 2246 { 2247 return this.getSuperEntity().getQueryOperations(follow); 2248 } 2249 2250 /** 2251 * Gets a comma separated list of required attribute names. If 'follow' is true, will travel up 2252 * the inheritance hierarchy to include attributes in parent entities as well. If 2253 * 'withIdentifiers' is true, will include identifiers. 2254 * @see Entity#getRequiredAttributeNameList(boolean follow, boolean withIdentifiers) 2255 */ 2256 public String getRequiredAttributeNameList(boolean follow, boolean withIdentifiers) 2257 { 2258 return this.getSuperEntity().getRequiredAttributeNameList(follow, withIdentifiers); 2259 } 2260 2261 /** 2262 * Gets a comma separated list of attribute types with are required. If 'follow' is true, will 2263 * travel up the inheritance hierarchy to include attributes in parent entities as well. If 2264 * 'withIdentifiers' is true, will include identifiers. 2265 * @see Entity#getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers) 2266 */ 2267 public String getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers) 2268 { 2269 return this.getSuperEntity().getRequiredAttributeTypeList(follow, withIdentifiers); 2270 } 2271 2272 /** 2273 * Returns all attributes that are specified as 'required' in the model. If 'follow' is true, 2274 * then required attributes in super classes will also be returned, if false, just the ones 2275 * directly on the entity will be returned. If 'withIdentifiers' is true, the identifiers will 2276 * be include, if false, no identifiers will be included. 2277 * @see Entity#getRequiredAttributes(boolean follow, boolean withIdentifiers) 2278 */ 2279 public Collection<AttributeFacade> getRequiredAttributes(boolean follow, boolean withIdentifiers) 2280 { 2281 return this.getSuperEntity().getRequiredAttributes(follow, withIdentifiers); 2282 } 2283 2284 /** 2285 * Gets all required properties for this entity. These consist of any required attributes as 2286 * well as navigable associations that are marked as 'required'. If 'follow' is true, then the 2287 * inheritance hierchy will be followed and all required properties from super classes will be 2288 * included as well. 2289 * If 'withIdentifiers' is true, the identifiers will be include, if false, no identifiers will 2290 * be included. 2291 * @see Entity#getRequiredProperties(boolean follow, boolean withIdentifiers) 2292 */ 2293 public Collection<ModelElementFacade> getRequiredProperties(boolean follow, boolean withIdentifiers) 2294 { 2295 return this.getSuperEntity().getRequiredProperties(follow, withIdentifiers); 2296 } 2297 2298 /** 2299 * Creates a comma separated list of the required property names. 2300 * @see Entity#getRequiredPropertyNameList(boolean follow, boolean withIdentifiers) 2301 */ 2302 public String getRequiredPropertyNameList(boolean follow, boolean withIdentifiers) 2303 { 2304 return this.getSuperEntity().getRequiredPropertyNameList(follow, withIdentifiers); 2305 } 2306 2307 /** 2308 * A comma separated list of the required property types. 2309 * @see Entity#getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers) 2310 */ 2311 public String getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers) 2312 { 2313 return this.getSuperEntity().getRequiredPropertyTypeList(follow, withIdentifiers); 2314 } 2315 2316 /** 2317 * The name of the schema that contains the database table 2318 * @see Entity#getSchema() 2319 */ 2320 public String getSchema() 2321 { 2322 return this.getSuperEntity().getSchema(); 2323 } 2324 2325 /** 2326 * The name of the database table to which this entity is persisted. 2327 * @see Entity#getTableName() 2328 */ 2329 public String getTableName() 2330 { 2331 return this.getSuperEntity().getTableName(); 2332 } 2333 2334 /** 2335 * Returns true/false depending on whether or not this entity represetns a child in an 2336 * association (this occurs when this entity is on the opposite end of an assocation end defined 2337 * as composite). 2338 * @see Entity#isChild() 2339 */ 2340 public boolean isChild() 2341 { 2342 return this.getSuperEntity().isChild(); 2343 } 2344 2345 /** 2346 * True if this entity identifier is a composite (consists of multiple key columns, typically 2347 * abstracted into an external composite identifier class) 2348 * @see Entity#isCompositeIdentifier() 2349 */ 2350 public boolean isCompositeIdentifier() 2351 { 2352 return this.getSuperEntity().isCompositeIdentifier(); 2353 } 2354 2355 /** 2356 * True if the entity has its identifiers dynamically added, false otherwise. 2357 * @see Entity#isDynamicIdentifiersPresent() 2358 */ 2359 public boolean isDynamicIdentifiersPresent() 2360 { 2361 return this.getSuperEntity().isDynamicIdentifiersPresent(); 2362 } 2363 2364 /** 2365 * True if the entity has any identifiers defined, false otherwise. 2366 * @see Entity#isIdentifiersPresent() 2367 */ 2368 public boolean isIdentifiersPresent() 2369 { 2370 return this.getSuperEntity().isIdentifiersPresent(); 2371 } 2372 2373 /** 2374 * Indiciates if this entity is using an assigned identifier or not. 2375 * @see Entity#isUsingAssignedIdentifier() 2376 */ 2377 public boolean isUsingAssignedIdentifier() 2378 { 2379 return this.getSuperEntity().isUsingAssignedIdentifier(); 2380 } 2381 2382 /** 2383 * Indicates whether or not this entity is using a foreign identifier as its identifiers. That 2384 * is: the foreignIdentifier flag was set on an incoming association end and the entity is 2385 * therefore using the related foreign parent entity's identifier. 2386 * @see Entity#isUsingForeignIdentifier() 2387 */ 2388 public boolean isUsingForeignIdentifier() 2389 { 2390 return this.getSuperEntity().isUsingForeignIdentifier(); 2391 } 2392 2393 /** 2394 * Finds the tagged value optional searching the entire inheritance hierarchy if 'follow' is set 2395 * to true. 2396 * @see GeneralizableElementFacade#findTaggedValue(String tagName, boolean follow) 2397 */ 2398 public Object findTaggedValue(String tagName, boolean follow) 2399 { 2400 return this.getSuperEntity().findTaggedValue(tagName, follow); 2401 } 2402 2403 /** 2404 * All generalizations for this generalizable element, goes up the inheritance tree. 2405 * @see GeneralizableElementFacade#getAllGeneralizations() 2406 */ 2407 public Collection<GeneralizableElementFacade> getAllGeneralizations() 2408 { 2409 return this.getSuperEntity().getAllGeneralizations(); 2410 } 2411 2412 /** 2413 * All specializations (travels down the inheritance hierarchy). 2414 * @see GeneralizableElementFacade#getAllSpecializations() 2415 */ 2416 public Collection<GeneralizableElementFacade> getAllSpecializations() 2417 { 2418 return this.getSuperEntity().getAllSpecializations(); 2419 } 2420 2421 /** 2422 * Gets the direct generalization for this generalizable element. 2423 * @see GeneralizableElementFacade#getGeneralization() 2424 */ 2425 public GeneralizableElementFacade getGeneralization() 2426 { 2427 return this.getSuperEntity().getGeneralization(); 2428 } 2429 2430 /** 2431 * Gets the actual links that this generalization element is part of (it plays either the 2432 * specialization or generalization). 2433 * @see GeneralizableElementFacade#getGeneralizationLinks() 2434 */ 2435 public Collection<GeneralizationFacade> getGeneralizationLinks() 2436 { 2437 return this.getSuperEntity().getGeneralizationLinks(); 2438 } 2439 2440 /** 2441 * A comma separated list of the fully qualified names of all generalizations. 2442 * @see GeneralizableElementFacade#getGeneralizationList() 2443 */ 2444 public String getGeneralizationList() 2445 { 2446 return this.getSuperEntity().getGeneralizationList(); 2447 } 2448 2449 /** 2450 * The element found when you recursively follow the generalization path up to the root. If an 2451 * element has no generalization itself will be considered the root. 2452 * @see GeneralizableElementFacade#getGeneralizationRoot() 2453 */ 2454 public GeneralizableElementFacade getGeneralizationRoot() 2455 { 2456 return this.getSuperEntity().getGeneralizationRoot(); 2457 } 2458 2459 /** 2460 * Return all generalizations (ancestors) from this generalizable element. 2461 * @see GeneralizableElementFacade#getGeneralizations() 2462 */ 2463 public Collection<GeneralizableElementFacade> getGeneralizations() 2464 { 2465 return this.getSuperEntity().getGeneralizations(); 2466 } 2467 2468 /** 2469 * Gets the direct specializations (i.e. sub elements) for this generalizatble element. 2470 * @see GeneralizableElementFacade#getSpecializations() 2471 */ 2472 public Collection<GeneralizableElementFacade> getSpecializations() 2473 { 2474 return this.getSuperEntity().getSpecializations(); 2475 } 2476 2477 /** 2478 * Copies all tagged values from the given ModelElementFacade to this model element facade. 2479 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element) 2480 */ 2481 public void copyTaggedValues(ModelElementFacade element) 2482 { 2483 this.getSuperEntity().copyTaggedValues(element); 2484 } 2485 2486 /** 2487 * Finds the tagged value with the specified 'tagName'. In case there are more values the first 2488 * one found will be returned. 2489 * @see ModelElementFacade#findTaggedValue(String tagName) 2490 */ 2491 public Object findTaggedValue(String tagName) 2492 { 2493 return this.getSuperEntity().findTaggedValue(tagName); 2494 } 2495 2496 /** 2497 * Returns all the values for the tagged value with the specified name. The returned collection 2498 * will contains only String instances, or will be empty. Never null. 2499 * @see ModelElementFacade#findTaggedValues(String tagName) 2500 */ 2501 public Collection<Object> findTaggedValues(String tagName) 2502 { 2503 return this.getSuperEntity().findTaggedValues(tagName); 2504 } 2505 2506 /** 2507 * Returns the fully qualified name of the model element. The fully qualified name includes 2508 * complete package qualified name of the underlying model element. The templates parameter will 2509 * be replaced by the correct one given the binding relation of the parameter to this element. 2510 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement) 2511 */ 2512 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement) 2513 { 2514 return this.getSuperEntity().getBindedFullyQualifiedName(bindedElement); 2515 } 2516 2517 /** 2518 * Gets all constraints belonging to the model element. 2519 * @see ModelElementFacade#getConstraints() 2520 */ 2521 public Collection<ConstraintFacade> getConstraints() 2522 { 2523 return this.getSuperEntity().getConstraints(); 2524 } 2525 2526 /** 2527 * Returns the constraints of the argument kind that have been placed onto this model. Typical 2528 * kinds are "inv", "pre" and "post". Other kinds are possible. 2529 * @see ModelElementFacade#getConstraints(String kind) 2530 */ 2531 public Collection<ConstraintFacade> getConstraints(String kind) 2532 { 2533 return this.getSuperEntity().getConstraints(kind); 2534 } 2535 2536 /** 2537 * Gets the documentation for the model element, The indent argument is prefixed to each line. 2538 * By default this method wraps lines after 64 characters. 2539 * This method is equivalent to <code>getDocumentation(indent, 64)</code>. 2540 * @see ModelElementFacade#getDocumentation(String indent) 2541 */ 2542 public String getDocumentation(String indent) 2543 { 2544 return this.getSuperEntity().getDocumentation(indent); 2545 } 2546 2547 /** 2548 * This method returns the documentation for this model element, with the lines wrapped after 2549 * the specified number of characters, values of less than 1 will indicate no line wrapping is 2550 * required. By default paragraphs are returned as HTML. 2551 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>. 2552 * @see ModelElementFacade#getDocumentation(String indent, int lineLength) 2553 */ 2554 public String getDocumentation(String indent, int lineLength) 2555 { 2556 return this.getSuperEntity().getDocumentation(indent, lineLength); 2557 } 2558 2559 /** 2560 * This method returns the documentation for this model element, with the lines wrapped after 2561 * the specified number of characters, values of less than 1 will indicate no line wrapping is 2562 * required. HTML style determines if HTML Escaping is applied. 2563 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle) 2564 */ 2565 public String getDocumentation(String indent, int lineLength, boolean htmlStyle) 2566 { 2567 return this.getSuperEntity().getDocumentation(indent, lineLength, htmlStyle); 2568 } 2569 2570 /** 2571 * The fully qualified name of this model element. 2572 * @see ModelElementFacade#getFullyQualifiedName() 2573 */ 2574 public String getFullyQualifiedName() 2575 { 2576 return this.getSuperEntity().getFullyQualifiedName(); 2577 } 2578 2579 /** 2580 * Returns the fully qualified name of the model element. The fully qualified name includes 2581 * complete package qualified name of the underlying model element. If modelName is true, then 2582 * the original name of the model element (the name contained within the model) will be the name 2583 * returned, otherwise a name from a language mapping will be returned. 2584 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName) 2585 */ 2586 public String getFullyQualifiedName(boolean modelName) 2587 { 2588 return this.getSuperEntity().getFullyQualifiedName(modelName); 2589 } 2590 2591 /** 2592 * Returns the fully qualified name as a path, the returned value always starts with out a slash 2593 * '/'. 2594 * @see ModelElementFacade#getFullyQualifiedNamePath() 2595 */ 2596 public String getFullyQualifiedNamePath() 2597 { 2598 return this.getSuperEntity().getFullyQualifiedNamePath(); 2599 } 2600 2601 /** 2602 * Gets the unique identifier of the underlying model element. 2603 * @see ModelElementFacade#getId() 2604 */ 2605 public String getId() 2606 { 2607 return this.getSuperEntity().getId(); 2608 } 2609 2610 /** 2611 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which 2612 * are not represented by other properties, i.e. native, transient, volatile, synchronized, 2613 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings: 2614 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require 2615 * JDK5 compiler level. 2616 * @see ModelElementFacade#getKeywords() 2617 */ 2618 public Collection<String> getKeywords() 2619 { 2620 return this.getSuperEntity().getKeywords(); 2621 } 2622 2623 /** 2624 * UML2: Retrieves a localized label for this named element. 2625 * @see ModelElementFacade#getLabel() 2626 */ 2627 public String getLabel() 2628 { 2629 return this.getSuperEntity().getLabel(); 2630 } 2631 2632 /** 2633 * The language mappings that have been set for this model element. 2634 * @see ModelElementFacade#getLanguageMappings() 2635 */ 2636 public TypeMappings getLanguageMappings() 2637 { 2638 return this.getSuperEntity().getLanguageMappings(); 2639 } 2640 2641 /** 2642 * Return the model containing this model element (multiple models may be loaded and processed 2643 * at the same time). 2644 * @see ModelElementFacade#getModel() 2645 */ 2646 public ModelFacade getModel() 2647 { 2648 return this.getSuperEntity().getModel(); 2649 } 2650 2651 /** 2652 * The name of the model element. 2653 * @see ModelElementFacade#getName() 2654 */ 2655 public String getName() 2656 { 2657 return this.getSuperEntity().getName(); 2658 } 2659 2660 /** 2661 * Gets the package to which this model element belongs. 2662 * @see ModelElementFacade#getPackage() 2663 */ 2664 public ModelElementFacade getPackage() 2665 { 2666 return this.getSuperEntity().getPackage(); 2667 } 2668 2669 /** 2670 * The name of this model element's package. 2671 * @see ModelElementFacade#getPackageName() 2672 */ 2673 public String getPackageName() 2674 { 2675 return this.getSuperEntity().getPackageName(); 2676 } 2677 2678 /** 2679 * Gets the package name (optionally providing the ability to retrieve the model name and not 2680 * the mapped name). 2681 * @see ModelElementFacade#getPackageName(boolean modelName) 2682 */ 2683 public String getPackageName(boolean modelName) 2684 { 2685 return this.getSuperEntity().getPackageName(modelName); 2686 } 2687 2688 /** 2689 * Returns the package as a path, the returned value always starts with out a slash '/'. 2690 * @see ModelElementFacade#getPackagePath() 2691 */ 2692 public String getPackagePath() 2693 { 2694 return this.getSuperEntity().getPackagePath(); 2695 } 2696 2697 /** 2698 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the 2699 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from 2700 * the names of the containing namespaces starting at the root of the hierarchy and ending with 2701 * the name of the NamedElement itself. 2702 * @see ModelElementFacade#getQualifiedName() 2703 */ 2704 public String getQualifiedName() 2705 { 2706 return this.getSuperEntity().getQualifiedName(); 2707 } 2708 2709 /** 2710 * Gets the root package for the model element. 2711 * @see ModelElementFacade#getRootPackage() 2712 */ 2713 public PackageFacade getRootPackage() 2714 { 2715 return this.getSuperEntity().getRootPackage(); 2716 } 2717 2718 /** 2719 * Gets the dependencies for which this model element is the source. 2720 * @see ModelElementFacade#getSourceDependencies() 2721 */ 2722 public Collection<DependencyFacade> getSourceDependencies() 2723 { 2724 return this.getSuperEntity().getSourceDependencies(); 2725 } 2726 2727 /** 2728 * If this model element is the context of an activity graph, this represents that activity 2729 * graph. 2730 * @see ModelElementFacade#getStateMachineContext() 2731 */ 2732 public StateMachineFacade getStateMachineContext() 2733 { 2734 return this.getSuperEntity().getStateMachineContext(); 2735 } 2736 2737 /** 2738 * The collection of ALL stereotype names for this model element. 2739 * @see ModelElementFacade#getStereotypeNames() 2740 */ 2741 public Collection<String> getStereotypeNames() 2742 { 2743 return this.getSuperEntity().getStereotypeNames(); 2744 } 2745 2746 /** 2747 * Gets all stereotypes for this model element. 2748 * @see ModelElementFacade#getStereotypes() 2749 */ 2750 public Collection<StereotypeFacade> getStereotypes() 2751 { 2752 return this.getSuperEntity().getStereotypes(); 2753 } 2754 2755 /** 2756 * Return the TaggedValues associated with this model element, under all stereotypes. 2757 * @see ModelElementFacade#getTaggedValues() 2758 */ 2759 public Collection<TaggedValueFacade> getTaggedValues() 2760 { 2761 return this.getSuperEntity().getTaggedValues(); 2762 } 2763 2764 /** 2765 * Gets the dependencies for which this model element is the target. 2766 * @see ModelElementFacade#getTargetDependencies() 2767 */ 2768 public Collection<DependencyFacade> getTargetDependencies() 2769 { 2770 return this.getSuperEntity().getTargetDependencies(); 2771 } 2772 2773 /** 2774 * Get the template parameter for this model element having the parameterName 2775 * @see ModelElementFacade#getTemplateParameter(String parameterName) 2776 */ 2777 public Object getTemplateParameter(String parameterName) 2778 { 2779 return this.getSuperEntity().getTemplateParameter(parameterName); 2780 } 2781 2782 /** 2783 * Get the template parameters for this model element 2784 * @see ModelElementFacade#getTemplateParameters() 2785 */ 2786 public Collection<TemplateParameterFacade> getTemplateParameters() 2787 { 2788 return this.getSuperEntity().getTemplateParameters(); 2789 } 2790 2791 /** 2792 * The visibility (i.e. public, private, protected or package) of the model element, will 2793 * attempt a lookup for these values in the language mappings (if any). 2794 * @see ModelElementFacade#getVisibility() 2795 */ 2796 public String getVisibility() 2797 { 2798 return this.getSuperEntity().getVisibility(); 2799 } 2800 2801 /** 2802 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance 2803 * is taken into account when searching for the stereotype), false otherwise. 2804 * @see ModelElementFacade#hasExactStereotype(String stereotypeName) 2805 */ 2806 public boolean hasExactStereotype(String stereotypeName) 2807 { 2808 return this.getSuperEntity().hasExactStereotype(stereotypeName); 2809 } 2810 2811 /** 2812 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma, 2813 * pipe, semicolon, or << >> 2814 * @see ModelElementFacade#hasKeyword(String keywordName) 2815 */ 2816 public boolean hasKeyword(String keywordName) 2817 { 2818 return this.getSuperEntity().hasKeyword(keywordName); 2819 } 2820 2821 /** 2822 * Returns true if the model element has the specified stereotype. If the stereotype itself 2823 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if 2824 * one of the stereotype's ancestors has a matching name this method will return true, false 2825 * otherwise. 2826 * For example, if we have a certain stereotype called <<exception>> and a model element has a 2827 * stereotype called <<applicationException>> which extends <<exception>>, when calling this 2828 * method with 'stereotypeName' defined as 'exception' the method would return true since 2829 * <<applicationException>> inherits from <<exception>>. If you want to check if the model 2830 * element has the exact stereotype, then use the method 'hasExactStereotype' instead. 2831 * @see ModelElementFacade#hasStereotype(String stereotypeName) 2832 */ 2833 public boolean hasStereotype(String stereotypeName) 2834 { 2835 return this.getSuperEntity().hasStereotype(stereotypeName); 2836 } 2837 2838 /** 2839 * True if there are target dependencies from this element that are instances of BindingFacade. 2840 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies. 2841 * @see ModelElementFacade#isBindingDependenciesPresent() 2842 */ 2843 public boolean isBindingDependenciesPresent() 2844 { 2845 return this.getSuperEntity().isBindingDependenciesPresent(); 2846 } 2847 2848 /** 2849 * Indicates if any constraints are present on this model element. 2850 * @see ModelElementFacade#isConstraintsPresent() 2851 */ 2852 public boolean isConstraintsPresent() 2853 { 2854 return this.getSuperEntity().isConstraintsPresent(); 2855 } 2856 2857 /** 2858 * Indicates if any documentation is present on this model element. 2859 * @see ModelElementFacade#isDocumentationPresent() 2860 */ 2861 public boolean isDocumentationPresent() 2862 { 2863 return this.getSuperEntity().isDocumentationPresent(); 2864 } 2865 2866 /** 2867 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript. 2868 * @see ModelElementFacade#isReservedWord() 2869 */ 2870 public boolean isReservedWord() 2871 { 2872 return this.getSuperEntity().isReservedWord(); 2873 } 2874 2875 /** 2876 * True is there are template parameters on this model element. For UML2, applies to Class, 2877 * Operation, Property, and Parameter. 2878 * @see ModelElementFacade#isTemplateParametersPresent() 2879 */ 2880 public boolean isTemplateParametersPresent() 2881 { 2882 return this.getSuperEntity().isTemplateParametersPresent(); 2883 } 2884 2885 /** 2886 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++, 2887 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on 2888 * Enumerations and Interfaces, optionally applies on other model elements. 2889 * @see ModelElementFacade#isValidIdentifierName() 2890 */ 2891 public boolean isValidIdentifierName() 2892 { 2893 return this.getSuperEntity().isValidIdentifierName(); 2894 } 2895 2896 /** 2897 * Searches for the constraint with the specified 'name' on this model element, and if found 2898 * translates it using the specified 'translation' from a translation library discovered by the 2899 * framework. 2900 * @see ModelElementFacade#translateConstraint(String name, String translation) 2901 */ 2902 public String translateConstraint(String name, String translation) 2903 { 2904 return this.getSuperEntity().translateConstraint(name, translation); 2905 } 2906 2907 /** 2908 * Translates all constraints belonging to this model element with the given 'translation'. 2909 * @see ModelElementFacade#translateConstraints(String translation) 2910 */ 2911 public String[] translateConstraints(String translation) 2912 { 2913 return this.getSuperEntity().translateConstraints(translation); 2914 } 2915 2916 /** 2917 * Translates the constraints of the specified 'kind' belonging to this model element. 2918 * @see ModelElementFacade#translateConstraints(String kind, String translation) 2919 */ 2920 public String[] translateConstraints(String kind, String translation) 2921 { 2922 return this.getSuperEntity().translateConstraints(kind, translation); 2923 } 2924 2925 /** 2926 * @see MetafacadeBase#initialize() 2927 */ 2928 @Override 2929 public void initialize() 2930 { 2931 this.getSuperEntity().initialize(); 2932 } 2933 2934 /** 2935 * @return Object getSuperEntity().getValidationOwner() 2936 * @see MetafacadeBase#getValidationOwner() 2937 */ 2938 @Override 2939 public Object getValidationOwner() 2940 { 2941 Object owner = this.getSuperEntity().getValidationOwner(); 2942 return owner; 2943 } 2944 2945 /** 2946 * @return String getSuperEntity().getValidationName() 2947 * @see MetafacadeBase#getValidationName() 2948 */ 2949 @Override 2950 public String getValidationName() 2951 { 2952 String name = this.getSuperEntity().getValidationName(); 2953 return name; 2954 } 2955 2956 /** 2957 * <p><b>Constraint:</b> org::andromda::cartridges::hibernate::metafacades::HibernateEntity::class inheritance strategy can not be mixed</p> 2958 * <p><b>Error:</b> If your Hibernate inheritance strategy is defined as 'class' on the root entity. All sub classes must have an inheritance strategy of 'class' as well (the class inheritance strategy can not be mixed with any other types of strategies).</p> 2959 * <p><b>OCL:</b> context HibernateEntity 2960inv : hibernateInheritanceClass implies specializations -> forAll(hibernateInheritanceClass)</p> 2961 * <p><b>Constraint:</b> org::andromda::cartridges::hibernate::metafacades::HibernateEntity::subclass inheritance strategy can not be mixed</p> 2962 * <p><b>Error:</b> If your Hibernate inheritance strategy is defined as 'subclass' on the root entity. All sub classes must have an inheritance strategy of 'subclass' as well (the subclass inheritance strategy can not be mixed with any other types of strategies).</p> 2963 * <p><b>OCL:</b> context HibernateEntity 2964inv : hibernateInheritanceSubclass implies specializations -> forAll(hibernateInheritanceSubclass)</p> 2965 * <p><b>Constraint:</b> org::andromda::cartridges::hibernate::metafacades::HibernateEntity::entity attributes must be of type data type.</p> 2966 * <p><b>Error:</b> All attributes of an entity (other than enumerations and embedded values) must be of UML DataType. Complex types must be UML Associations, not attributes.</p> 2967 * <p><b>OCL:</b> context HibernateEntity 2968inv: attributes -> forAll( not (type.enumeration or type.oclIsKindOf(HibernateEmbeddedValue)) implies type.dataType)</p> 2969 * <p><b>Constraint:</b> org::andromda::cartridges::hibernate::metafacades::HibernateEntity::increment, identity, sequence, hilo or seqhilo generator class requires a long, short, or int identifier</p> 2970 * <p><b>Error:</b> If the hibernate identifier generator class is set as 'increment', 'identity', 'sequence', 'hilo', 'seqhilo' or 'native', your mapped identifier type must resolve to a long (long or java.lang.Long or Long) , an int (int or java.lang.Integer or Integer), or a short (short or java.lang.Short or Short).</p> 2971 * <p><b>OCL:</b> context HibernateEntity 2972inv: let identifierTypeName : String = identifiers->first().type.fullyQualifiedName in hibernateGeneratorClass = 'increment' or hibernateGeneratorClass = 'identity' or hibernateGeneratorClass = 'sequence' or hibernateGeneratorClass = 'hilo' or hibernateGeneratorClass = 'seqhilo' or hibernateGeneratorClass = 'native' implies identifierTypeName = 'long' or identifierTypeName = 'java.lang.Long' or identifierTypeName = 'Long' or identifierTypeName = 'short' or identifierTypeName = 'java.lang.Short' or identifierTypeName = 'Short' or identifierTypeName = 'int' or identifierTypeName = 'java.lang.Integer' or identifierTypeName = 'Integer'</p> 2973 * <p><b>Constraint:</b> org::andromda::cartridges::hibernate::metafacades::HibernateEntity::uuid.hex or uuid.string generator class requires a String</p> 2974 * <p><b>Error:</b> If the hibernate identifier generator class is set as 'uuid.hex' or 'uuid.string' your mapped identifier type must resolve to 'String' or 'String'.</p> 2975 * <p><b>OCL:</b> context HibernateEntity 2976inv: let identifierTypeName : String = identifiers->first().type.fullyQualifiedName in hibernateGeneratorClass = 'uuid.hex' or hibernateGeneratorClass = 'uuid.string' implies identifierTypeName = 'String' or identifierTypeName = 'String'</p> 2977 * @param validationMessages Collection<ModelValidationMessage> 2978 * @see MetafacadeBase#validateInvariants(Collection validationMessages) 2979 */ 2980 @Override 2981 public void validateInvariants(Collection<ModelValidationMessage> validationMessages) 2982 { 2983 this.getSuperEntity().validateInvariants(validationMessages); 2984 try 2985 { 2986 final Object contextElement = this.THIS(); 2987 boolean constraintValid = OCLResultEnsurer.ensure((Boolean.valueOf(String.valueOf(OCLIntrospector.invoke(contextElement,"hibernateInheritanceClass"))).booleanValue()?OCLCollections.forAll(OCLIntrospector.invoke(contextElement,"specializations"),new Predicate(){public boolean evaluate(Object object){return Boolean.valueOf(String.valueOf(OCLIntrospector.invoke(object,"hibernateInheritanceClass"))).booleanValue();}}):true)); 2988 if (!constraintValid) 2989 { 2990 validationMessages.add( 2991 new ModelValidationMessage( 2992 (MetafacadeBase)contextElement , 2993 "org::andromda::cartridges::hibernate::metafacades::HibernateEntity::class inheritance strategy can not be mixed", 2994 "If your Hibernate inheritance strategy is defined as 'class' on the root entity. All sub classes must have an inheritance strategy of 'class' as well (the class inheritance strategy can not be mixed with any other types of strategies).")); 2995 } 2996 } 2997 catch (Throwable th) 2998 { 2999 Throwable cause = th.getCause(); 3000 int depth = 0; // Some throwables have infinite recursion 3001 while (cause != null && depth < 7) 3002 { 3003 th = cause; 3004 depth++; 3005 } 3006 logger.error("Error validating constraint 'org::andromda::cartridges::hibernate::metafacades::HibernateEntity::class inheritance strategy can not be mixed' ON " 3007 + this.THIS().toString() + ": " + th.getMessage(), th); 3008 } 3009 try 3010 { 3011 final Object contextElement = this.THIS(); 3012 boolean constraintValid = OCLResultEnsurer.ensure((Boolean.valueOf(String.valueOf(OCLIntrospector.invoke(contextElement,"hibernateInheritanceSubclass"))).booleanValue()?OCLCollections.forAll(OCLIntrospector.invoke(contextElement,"specializations"),new Predicate(){public boolean evaluate(Object object){return Boolean.valueOf(String.valueOf(OCLIntrospector.invoke(object,"hibernateInheritanceSubclass"))).booleanValue();}}):true)); 3013 if (!constraintValid) 3014 { 3015 validationMessages.add( 3016 new ModelValidationMessage( 3017 (MetafacadeBase)contextElement , 3018 "org::andromda::cartridges::hibernate::metafacades::HibernateEntity::subclass inheritance strategy can not be mixed", 3019 "If your Hibernate inheritance strategy is defined as 'subclass' on the root entity. All sub classes must have an inheritance strategy of 'subclass' as well (the subclass inheritance strategy can not be mixed with any other types of strategies).")); 3020 } 3021 } 3022 catch (Throwable th) 3023 { 3024 Throwable cause = th.getCause(); 3025 int depth = 0; // Some throwables have infinite recursion 3026 while (cause != null && depth < 7) 3027 { 3028 th = cause; 3029 depth++; 3030 } 3031 logger.error("Error validating constraint 'org::andromda::cartridges::hibernate::metafacades::HibernateEntity::subclass inheritance strategy can not be mixed' ON " 3032 + this.THIS().toString() + ": " + th.getMessage(), th); 3033 } 3034 try 3035 { 3036 final Object contextElement = this.THIS(); 3037 boolean constraintValid = OCLResultEnsurer.ensure(OCLCollections.forAll(OCLIntrospector.invoke(contextElement,"attributes"),new Predicate(){public boolean evaluate(Object object){return Boolean.valueOf(String.valueOf((Boolean.valueOf(String.valueOf(!(Boolean.valueOf(String.valueOf(OCLIntrospector.invoke(object,"type.enumeration"))).booleanValue()||OCLIntrospector.invoke(object,"type") instanceof HibernateEmbeddedValue))).booleanValue()?Boolean.valueOf(String.valueOf(OCLIntrospector.invoke(object,"type.dataType"))).booleanValue():true))).booleanValue();}})); 3038 if (!constraintValid) 3039 { 3040 validationMessages.add( 3041 new ModelValidationMessage( 3042 (MetafacadeBase)contextElement , 3043 "org::andromda::cartridges::hibernate::metafacades::HibernateEntity::entity attributes must be of type data type.", 3044 "All attributes of an entity (other than enumerations and embedded values) must be of UML DataType. Complex types must be UML Associations, not attributes.")); 3045 } 3046 } 3047 catch (Throwable th) 3048 { 3049 Throwable cause = th.getCause(); 3050 int depth = 0; // Some throwables have infinite recursion 3051 while (cause != null && depth < 7) 3052 { 3053 th = cause; 3054 depth++; 3055 } 3056 logger.error("Error validating constraint 'org::andromda::cartridges::hibernate::metafacades::HibernateEntity::entity attributes must be of type data type.' ON " 3057 + this.THIS().toString() + ": " + th.getMessage(), th); 3058 } 3059 try 3060 { 3061 final Object contextElement = this.THIS(); 3062 boolean constraintValid = OCLResultEnsurer.ensure((Boolean.valueOf(String.valueOf(OCLExpressions.equal(OCLIntrospector.invoke(contextElement,"hibernateGeneratorClass"),"increment")||OCLExpressions.equal(OCLIntrospector.invoke(contextElement,"hibernateGeneratorClass"),"identity")||OCLExpressions.equal(OCLIntrospector.invoke(contextElement,"hibernateGeneratorClass"),"sequence")||OCLExpressions.equal(OCLIntrospector.invoke(contextElement,"hibernateGeneratorClass"),"hilo")||OCLExpressions.equal(OCLIntrospector.invoke(contextElement,"hibernateGeneratorClass"),"seqhilo")||OCLExpressions.equal(OCLIntrospector.invoke(contextElement,"hibernateGeneratorClass"),"native"))).booleanValue()?OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"long"):true)||OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"java.lang.Long")||OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"Long")||OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"short")||OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"java.lang.Short")||OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"Short")||OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"int")||OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"java.lang.Integer")||OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"Integer")); 3063 if (!constraintValid) 3064 { 3065 validationMessages.add( 3066 new ModelValidationMessage( 3067 (MetafacadeBase)contextElement , 3068 "org::andromda::cartridges::hibernate::metafacades::HibernateEntity::increment, identity, sequence, hilo or seqhilo generator class requires a long, short, or int identifier", 3069 "If the hibernate identifier generator class is set as 'increment', 'identity', 'sequence', 'hilo', 'seqhilo' or 'native', your mapped identifier type must resolve to a long (long or java.lang.Long or Long) , an int (int or java.lang.Integer or Integer), or a short (short or java.lang.Short or Short).")); 3070 } 3071 } 3072 catch (Throwable th) 3073 { 3074 Throwable cause = th.getCause(); 3075 int depth = 0; // Some throwables have infinite recursion 3076 while (cause != null && depth < 7) 3077 { 3078 th = cause; 3079 depth++; 3080 } 3081 logger.error("Error validating constraint 'org::andromda::cartridges::hibernate::metafacades::HibernateEntity::increment, identity, sequence, hilo or seqhilo generator class requires a long, short, or int identifier' ON " 3082 + this.THIS().toString() + ": " + th.getMessage(), th); 3083 } 3084 try 3085 { 3086 final Object contextElement = this.THIS(); 3087 boolean constraintValid = OCLResultEnsurer.ensure((Boolean.valueOf(String.valueOf(OCLExpressions.equal(OCLIntrospector.invoke(contextElement,"hibernateGeneratorClass"),"uuid.hex")||OCLExpressions.equal(OCLIntrospector.invoke(contextElement,"hibernateGeneratorClass"),"uuid.string"))).booleanValue()?OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"java.lang.String"):true)||OCLExpressions.equal(OCLIntrospector.invoke(OCLCollections.first(OCLIntrospector.invoke(contextElement,"identifiers")),"type.fullyQualifiedName"),"String")); 3088 if (!constraintValid) 3089 { 3090 validationMessages.add( 3091 new ModelValidationMessage( 3092 (MetafacadeBase)contextElement , 3093 "org::andromda::cartridges::hibernate::metafacades::HibernateEntity::uuid.hex or uuid.string generator class requires a String", 3094 "If the hibernate identifier generator class is set as 'uuid.hex' or 'uuid.string' your mapped identifier type must resolve to 'String' or 'String'.")); 3095 } 3096 } 3097 catch (Throwable th) 3098 { 3099 Throwable cause = th.getCause(); 3100 int depth = 0; // Some throwables have infinite recursion 3101 while (cause != null && depth < 7) 3102 { 3103 th = cause; 3104 depth++; 3105 } 3106 logger.error("Error validating constraint 'org::andromda::cartridges::hibernate::metafacades::HibernateEntity::uuid.hex or uuid.string generator class requires a String' ON " 3107 + this.THIS().toString() + ": " + th.getMessage(), th); 3108 } 3109 } 3110 3111 /** 3112 * The property that stores the name of the metafacade. 3113 */ 3114 private static final String NAME_PROPERTY = "name"; 3115 private static final String FQNAME_PROPERTY = "fullyQualifiedName"; 3116 3117 /** 3118 * @see Object#toString() 3119 */ 3120 @Override 3121 public String toString() 3122 { 3123 final StringBuilder toString = new StringBuilder(this.getClass().getName()); 3124 toString.append("["); 3125 try 3126 { 3127 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY)); 3128 } 3129 catch (final Throwable tryAgain) 3130 { 3131 try 3132 { 3133 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY)); 3134 } 3135 catch (final Throwable ignore) 3136 { 3137 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property 3138 } 3139 } 3140 toString.append("]"); 3141 return toString.toString(); 3142 } 3143}