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