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.Destination; 019import org.andromda.metafacades.uml.GeneralizableElementFacade; 020import org.andromda.metafacades.uml.GeneralizationFacade; 021import org.andromda.metafacades.uml.ModelElementFacade; 022import org.andromda.metafacades.uml.ModelFacade; 023import org.andromda.metafacades.uml.OperationFacade; 024import org.andromda.metafacades.uml.PackageFacade; 025import org.andromda.metafacades.uml.Role; 026import org.andromda.metafacades.uml.Service; 027import org.andromda.metafacades.uml.StateMachineFacade; 028import org.andromda.metafacades.uml.StereotypeFacade; 029import org.andromda.metafacades.uml.TaggedValueFacade; 030import org.andromda.metafacades.uml.TemplateParameterFacade; 031import org.andromda.metafacades.uml.TypeMappings; 032 033/** 034 * Represents a Session EJB. 035 * MetafacadeLogic for EJBSessionFacade 036 * 037 * @see EJBSessionFacade 038 */ 039public abstract class EJBSessionFacadeLogic 040 extends MetafacadeBase 041 implements EJBSessionFacade 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 EJBSessionFacadeLogic(Object metaObjectIn, String context) 054 { 055 super(metaObjectIn, getContext(context)); 056 this.superService = 057 (Service) 058 MetafacadeFactory.getInstance().createFacadeImpl( 059 "org.andromda.metafacades.uml.Service", 060 metaObjectIn, 061 getContext(context)); 062 this.metaObject = metaObjectIn; 063 } 064 065 /** 066 * Gets the context for this metafacade logic instance. 067 * @param context String. Set to EJBSessionFacade 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.EJBSessionFacade"; 075 } 076 return context; 077 } 078 079 private Service superService; 080 private boolean superServiceInitialized = false; 081 082 /** 083 * Gets the Service parent instance. 084 * @return this.superService Service 085 */ 086 private Service getSuperService() 087 { 088 if (!this.superServiceInitialized) 089 { 090 ((MetafacadeBase)this.superService).setMetafacadeContext(this.getMetafacadeContext()); 091 this.superServiceInitialized = true; 092 } 093 return this.superService; 094 } 095 096 /** Reset context only for non-root metafacades 097 * @param context 098 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context) 099 */ 100 @Override 101 public void resetMetafacadeContext(String context) 102 { 103 if (!this.contextRoot) // reset context only for non-root metafacades 104 { 105 context = getContext(context); // to have same value as in original constructor call 106 setMetafacadeContext (context); 107 if (this.superServiceInitialized) 108 { 109 ((MetafacadeBase)this.superService).resetMetafacadeContext(context); 110 } 111 } 112 } 113 114 /** 115 * @return boolean true always 116 * @see EJBSessionFacade 117 */ 118 public boolean isEJBSessionFacadeMetaType() 119 { 120 return true; 121 } 122 123 // --------------- attributes --------------------- 124 125 /** 126 * @see org.andromda.cartridges.ejb.metafacades.EJBSessionFacade#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.EJBSessionFacade#getBusinessOperations() 157 * @return Collection 158 */ 159 protected abstract Collection handleGetBusinessOperations(); 160 161 private Collection __businessOperations2a; 162 private boolean __businessOperations2aSet = false; 163 164 /** 165 * All "business" operations for this Session EJB. These are any operations that are NOT 166 * identified as create methods. 167 * @return (Collection)handleGetBusinessOperations() 168 */ 169 public final Collection getBusinessOperations() 170 { 171 Collection businessOperations2a = this.__businessOperations2a; 172 if (!this.__businessOperations2aSet) 173 { 174 // businessOperations has no pre constraints 175 businessOperations2a = handleGetBusinessOperations(); 176 // businessOperations has no post constraints 177 this.__businessOperations2a = businessOperations2a; 178 if (isMetafacadePropertyCachingEnabled()) 179 { 180 this.__businessOperations2aSet = true; 181 } 182 } 183 return businessOperations2a; 184 } 185 186 /** 187 * @see org.andromda.cartridges.ejb.metafacades.EJBSessionFacade#getAllInstanceAttributes() 188 * @return List 189 */ 190 protected abstract List handleGetAllInstanceAttributes(); 191 192 private List __allInstanceAttributes3a; 193 private boolean __allInstanceAttributes3aSet = false; 194 195 /** 196 * All instanceAttributes for this session EJB. The list includes the instanceAttributes that 197 * are inherited from super classes. The list contains the inherited instanceAttributes first, 198 * followed by the instanceAttributes defined in this class. 199 * @return (List)handleGetAllInstanceAttributes() 200 */ 201 public final List getAllInstanceAttributes() 202 { 203 List allInstanceAttributes3a = this.__allInstanceAttributes3a; 204 if (!this.__allInstanceAttributes3aSet) 205 { 206 // allInstanceAttributes has no pre constraints 207 allInstanceAttributes3a = handleGetAllInstanceAttributes(); 208 // allInstanceAttributes has no post constraints 209 this.__allInstanceAttributes3a = allInstanceAttributes3a; 210 if (isMetafacadePropertyCachingEnabled()) 211 { 212 this.__allInstanceAttributes3aSet = true; 213 } 214 } 215 return allInstanceAttributes3a; 216 } 217 218 /** 219 * @see org.andromda.cartridges.ejb.metafacades.EJBSessionFacade#getInheritedInstanceAttributes() 220 * @return List 221 */ 222 protected abstract List handleGetInheritedInstanceAttributes(); 223 224 private List __inheritedInstanceAttributes4a; 225 private boolean __inheritedInstanceAttributes4aSet = false; 226 227 /** 228 * Alll inherited instanceAttributes this session EJB. The instanceAttributes are grouped by 229 * the class that defines the instanceAttributes, with instanceAttributes from the most removed 230 * super class first. 231 * @return (List)handleGetInheritedInstanceAttributes() 232 */ 233 public final List getInheritedInstanceAttributes() 234 { 235 List inheritedInstanceAttributes4a = this.__inheritedInstanceAttributes4a; 236 if (!this.__inheritedInstanceAttributes4aSet) 237 { 238 // inheritedInstanceAttributes has no pre constraints 239 inheritedInstanceAttributes4a = handleGetInheritedInstanceAttributes(); 240 // inheritedInstanceAttributes has no post constraints 241 this.__inheritedInstanceAttributes4a = inheritedInstanceAttributes4a; 242 if (isMetafacadePropertyCachingEnabled()) 243 { 244 this.__inheritedInstanceAttributes4aSet = true; 245 } 246 } 247 return inheritedInstanceAttributes4a; 248 } 249 250 /** 251 * @see org.andromda.cartridges.ejb.metafacades.EJBSessionFacade#getJndiName() 252 * @return String 253 */ 254 protected abstract String handleGetJndiName(); 255 256 private String __jndiName5a; 257 private boolean __jndiName5aSet = false; 258 259 /** 260 * The JNDI name to which this session EJB is bound. 261 * @return (String)handleGetJndiName() 262 */ 263 public final String getJndiName() 264 { 265 String jndiName5a = this.__jndiName5a; 266 if (!this.__jndiName5aSet) 267 { 268 // jndiName has no pre constraints 269 jndiName5a = handleGetJndiName(); 270 // jndiName has no post constraints 271 this.__jndiName5a = jndiName5a; 272 if (isMetafacadePropertyCachingEnabled()) 273 { 274 this.__jndiName5aSet = true; 275 } 276 } 277 return jndiName5a; 278 } 279 280 /** 281 * @see org.andromda.cartridges.ejb.metafacades.EJBSessionFacade#isStateful() 282 * @return boolean 283 */ 284 protected abstract boolean handleIsStateful(); 285 286 private boolean __stateful6a; 287 private boolean __stateful6aSet = false; 288 289 /** 290 * True/false depending on whether or not this Session EJB is stateful or not. 291 * @return (boolean)handleIsStateful() 292 */ 293 public final boolean isStateful() 294 { 295 boolean stateful6a = this.__stateful6a; 296 if (!this.__stateful6aSet) 297 { 298 // stateful has no pre constraints 299 stateful6a = handleIsStateful(); 300 // stateful has no post constraints 301 this.__stateful6a = stateful6a; 302 if (isMetafacadePropertyCachingEnabled()) 303 { 304 this.__stateful6aSet = true; 305 } 306 } 307 return stateful6a; 308 } 309 310 /** 311 * @see org.andromda.cartridges.ejb.metafacades.EJBSessionFacade#isStateless() 312 * @return boolean 313 */ 314 protected abstract boolean handleIsStateless(); 315 316 private boolean __stateless7a; 317 private boolean __stateless7aSet = false; 318 319 /** 320 * True/false depending on whether or not this Session EJB is stateless or not. 321 * @return (boolean)handleIsStateless() 322 */ 323 public final boolean isStateless() 324 { 325 boolean stateless7a = this.__stateless7a; 326 if (!this.__stateless7aSet) 327 { 328 // stateless has no pre constraints 329 stateless7a = handleIsStateless(); 330 // stateless has no post constraints 331 this.__stateless7a = stateless7a; 332 if (isMetafacadePropertyCachingEnabled()) 333 { 334 this.__stateless7aSet = true; 335 } 336 } 337 return stateless7a; 338 } 339 340 /** 341 * @see org.andromda.cartridges.ejb.metafacades.EJBSessionFacade#getType() 342 * @return String 343 */ 344 protected abstract String handleGetType(); 345 346 private String __type8a; 347 private boolean __type8aSet = false; 348 349 /** 350 * The name of the type of this Session EJB. 351 * @return (String)handleGetType() 352 */ 353 public final String getType() 354 { 355 String type8a = this.__type8a; 356 if (!this.__type8aSet) 357 { 358 // type has no pre constraints 359 type8a = handleGetType(); 360 // type has no post constraints 361 this.__type8a = type8a; 362 if (isMetafacadePropertyCachingEnabled()) 363 { 364 this.__type8aSet = true; 365 } 366 } 367 return type8a; 368 } 369 370 /** 371 * @see org.andromda.cartridges.ejb.metafacades.EJBSessionFacade#getViewType() 372 * @return String 373 */ 374 protected abstract String handleGetViewType(); 375 376 private String __viewType9a; 377 private boolean __viewType9aSet = false; 378 379 /** 380 * A string indicating whether the Bean is a local or remotely accessable bean. 381 * @return (String)handleGetViewType() 382 */ 383 public final String getViewType() 384 { 385 String viewType9a = this.__viewType9a; 386 if (!this.__viewType9aSet) 387 { 388 // viewType has no pre constraints 389 viewType9a = handleGetViewType(); 390 // viewType has no post constraints 391 this.__viewType9a = viewType9a; 392 if (isMetafacadePropertyCachingEnabled()) 393 { 394 this.__viewType9aSet = true; 395 } 396 } 397 return viewType9a; 398 } 399 400 /** 401 * @see org.andromda.cartridges.ejb.metafacades.EJBSessionFacade#getHomeInterfaceName() 402 * @return String 403 */ 404 protected abstract String handleGetHomeInterfaceName(); 405 406 private String __homeInterfaceName10a; 407 private boolean __homeInterfaceName10aSet = false; 408 409 /** 410 * A String representing the name of a home interface for this entity EJB. 411 * @return (String)handleGetHomeInterfaceName() 412 */ 413 public final String getHomeInterfaceName() 414 { 415 String homeInterfaceName10a = this.__homeInterfaceName10a; 416 if (!this.__homeInterfaceName10aSet) 417 { 418 // homeInterfaceName has no pre constraints 419 homeInterfaceName10a = handleGetHomeInterfaceName(); 420 // homeInterfaceName has no post constraints 421 this.__homeInterfaceName10a = homeInterfaceName10a; 422 if (isMetafacadePropertyCachingEnabled()) 423 { 424 this.__homeInterfaceName10aSet = true; 425 } 426 } 427 return homeInterfaceName10a; 428 } 429 430 /** 431 * @see org.andromda.cartridges.ejb.metafacades.EJBSessionFacade#getTransactionType() 432 * @return String 433 */ 434 protected abstract String handleGetTransactionType(); 435 436 private String __transactionType11a; 437 private boolean __transactionType11aSet = false; 438 439 /** 440 * Gets the transaction type for this service (i.e. REQUIRED, etc) 441 * @return (String)handleGetTransactionType() 442 */ 443 public final String getTransactionType() 444 { 445 String transactionType11a = this.__transactionType11a; 446 if (!this.__transactionType11aSet) 447 { 448 // transactionType has no pre constraints 449 transactionType11a = handleGetTransactionType(); 450 // transactionType has no post constraints 451 this.__transactionType11a = transactionType11a; 452 if (isMetafacadePropertyCachingEnabled()) 453 { 454 this.__transactionType11aSet = true; 455 } 456 } 457 return transactionType11a; 458 } 459 460 // ---------------- business methods ---------------------- 461 462 /** 463 * Method to be implemented in descendants 464 * Gets create methods for this session EJB. If 'follow' is set to true, it will follow the 465 * inheritance hierarchy and retrieve those defined on any super types. 466 * @param follow 467 * @return Collection 468 */ 469 protected abstract Collection handleGetCreateMethods(boolean follow); 470 471 /** 472 * Gets create methods for this session EJB. If 'follow' is set to true, it will follow the 473 * inheritance hierarchy and retrieve those defined on any super types. 474 * @param follow boolean 475 * If set to true, then all create methods from the super type will also be included. 476 * @return handleGetCreateMethods(follow) 477 */ 478 public Collection getCreateMethods(boolean follow) 479 { 480 // getCreateMethods has no pre constraints 481 Collection returnValue = handleGetCreateMethods(follow); 482 // getCreateMethods has no post constraints 483 return returnValue; 484 } 485 486 /** 487 * Method to be implemented in descendants 488 * Gets all env-entries for the specified session EJB. Env-entries are stored as static 489 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the 490 * inheritance hierachy will be followed and we'll retrieve all env-entries from any super types 491 * as well. 492 * @param follow 493 * @return Collection 494 */ 495 protected abstract Collection handleGetEnvironmentEntries(boolean follow); 496 497 /** 498 * Gets all env-entries for the specified session EJB. Env-entries are stored as static 499 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the 500 * inheritance hierachy will be followed and we'll retrieve all env-entries from any super types 501 * as well. 502 * @param follow boolean 503 * If true, then the inheritance hierachy will be followed and we'll retrieve all env-entries 504 * from any super types as well. 505 * @return handleGetEnvironmentEntries(follow) 506 */ 507 public Collection getEnvironmentEntries(boolean follow) 508 { 509 // getEnvironmentEntries has no pre constraints 510 Collection returnValue = handleGetEnvironmentEntries(follow); 511 // getEnvironmentEntries has no post constraints 512 return returnValue; 513 } 514 515 /** 516 * Method to be implemented in descendants 517 * Gets all constants for this session EJB. Constants are defined as static read-only attributes 518 * which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the inheritance 519 * hierachy will be followed and we'll retrieve all constants from any super types as well. 520 * @param follow 521 * @return Collection 522 */ 523 protected abstract Collection handleGetConstants(boolean follow); 524 525 /** 526 * Gets all constants for this session EJB. Constants are defined as static read-only attributes 527 * which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the inheritance 528 * hierachy will be followed and we'll retrieve all constants from any super types as well. 529 * @param follow boolean 530 * If true, then the inheritance hierachy will be followed and we'll retrieve all constants from 531 * any super types as well. 532 * @return handleGetConstants(follow) 533 */ 534 public Collection getConstants(boolean follow) 535 { 536 // getConstants has no pre constraints 537 Collection returnValue = handleGetConstants(follow); 538 // getConstants has no post constraints 539 return returnValue; 540 } 541 542 /** 543 * @return true 544 * @see Service 545 */ 546 public boolean isServiceMetaType() 547 { 548 return true; 549 } 550 551 /** 552 * @return true 553 * @see ClassifierFacade 554 */ 555 public boolean isClassifierFacadeMetaType() 556 { 557 return true; 558 } 559 560 /** 561 * @return true 562 * @see GeneralizableElementFacade 563 */ 564 public boolean isGeneralizableElementFacadeMetaType() 565 { 566 return true; 567 } 568 569 /** 570 * @return true 571 * @see ModelElementFacade 572 */ 573 public boolean isModelElementFacadeMetaType() 574 { 575 return true; 576 } 577 578 // ----------- delegates to Service ------------ 579 /** 580 * Return the attribute which name matches the parameter 581 * @see ClassifierFacade#findAttribute(String name) 582 */ 583 public AttributeFacade findAttribute(String name) 584 { 585 return this.getSuperService().findAttribute(name); 586 } 587 588 /** 589 * Those abstraction dependencies for which this classifier is the client. 590 * @see ClassifierFacade#getAbstractions() 591 */ 592 public Collection<ClassifierFacade> getAbstractions() 593 { 594 return this.getSuperService().getAbstractions(); 595 } 596 597 /** 598 * Lists all classes associated to this one and any ancestor classes (through generalization). 599 * There will be no duplicates. The order of the elements is predictable. 600 * @see ClassifierFacade#getAllAssociatedClasses() 601 */ 602 public Collection<ClassifierFacade> getAllAssociatedClasses() 603 { 604 return this.getSuperService().getAllAssociatedClasses(); 605 } 606 607 /** 608 * A collection containing all 'properties' of the classifier and its ancestors. Properties are 609 * any attributes and navigable connecting association ends. 610 * @see ClassifierFacade#getAllProperties() 611 */ 612 public Collection<ModelElementFacade> getAllProperties() 613 { 614 return this.getSuperService().getAllProperties(); 615 } 616 617 /** 618 * A collection containing all required and/or read-only 'properties' of the classifier and its 619 * ancestors. Properties are any attributes and navigable connecting association ends. 620 * @see ClassifierFacade#getAllRequiredConstructorParameters() 621 */ 622 public Collection<ModelElementFacade> getAllRequiredConstructorParameters() 623 { 624 return this.getSuperService().getAllRequiredConstructorParameters(); 625 } 626 627 /** 628 * Gets the array type for this classifier. If this classifier already represents an array, it 629 * just returns itself. 630 * @see ClassifierFacade#getArray() 631 */ 632 public ClassifierFacade getArray() 633 { 634 return this.getSuperService().getArray(); 635 } 636 637 /** 638 * The name of the classifier as an array. 639 * @see ClassifierFacade#getArrayName() 640 */ 641 public String getArrayName() 642 { 643 return this.getSuperService().getArrayName(); 644 } 645 646 /** 647 * Lists the classes associated to this one, there is no repitition of classes. The order of the 648 * elements is predictable. 649 * @see ClassifierFacade#getAssociatedClasses() 650 */ 651 public Collection<ClassifierFacade> getAssociatedClasses() 652 { 653 return this.getSuperService().getAssociatedClasses(); 654 } 655 656 /** 657 * Gets the association ends belonging to a classifier. 658 * @see ClassifierFacade#getAssociationEnds() 659 */ 660 public List<AssociationEndFacade> getAssociationEnds() 661 { 662 return this.getSuperService().getAssociationEnds(); 663 } 664 665 /** 666 * Gets the attributes that belong to the classifier. 667 * @see ClassifierFacade#getAttributes() 668 */ 669 public List<AttributeFacade> getAttributes() 670 { 671 return this.getSuperService().getAttributes(); 672 } 673 674 /** 675 * Gets all attributes for the classifier and if 'follow' is true goes up the inheritance 676 * hierarchy and gets the attributes from the super classes as well. 677 * @see ClassifierFacade#getAttributes(boolean follow) 678 */ 679 public List<AttributeFacade> getAttributes(boolean follow) 680 { 681 return this.getSuperService().getAttributes(follow); 682 } 683 684 /** 685 * The fully qualified name of the classifier as an array. 686 * @see ClassifierFacade#getFullyQualifiedArrayName() 687 */ 688 public String getFullyQualifiedArrayName() 689 { 690 return this.getSuperService().getFullyQualifiedArrayName(); 691 } 692 693 /** 694 * Returns all those operations that could be implemented at this classifier's level. This means 695 * the operations owned by this classifier as well as any realized interface's operations 696 * (recursively) in case this classifier itself is not already an interface, or generalized when 697 * this classifier is an interface. 698 * @see ClassifierFacade#getImplementationOperations() 699 */ 700 public Collection<OperationFacade> getImplementationOperations() 701 { 702 return this.getSuperService().getImplementationOperations(); 703 } 704 705 /** 706 * A comma separated list of the fully qualified names of all implemented interfaces. 707 * @see ClassifierFacade#getImplementedInterfaceList() 708 */ 709 public String getImplementedInterfaceList() 710 { 711 return this.getSuperService().getImplementedInterfaceList(); 712 } 713 714 /** 715 * Those attributes that are scoped to an instance of this class. 716 * @see ClassifierFacade#getInstanceAttributes() 717 */ 718 public Collection<AttributeFacade> getInstanceAttributes() 719 { 720 return this.getSuperService().getInstanceAttributes(); 721 } 722 723 /** 724 * Those operations that are scoped to an instance of this class. 725 * @see ClassifierFacade#getInstanceOperations() 726 */ 727 public List<OperationFacade> getInstanceOperations() 728 { 729 return this.getSuperService().getInstanceOperations(); 730 } 731 732 /** 733 * Those interfaces that are abstractions of this classifier, this basically means this 734 * classifier realizes them. 735 * @see ClassifierFacade#getInterfaceAbstractions() 736 */ 737 public Collection<ClassifierFacade> getInterfaceAbstractions() 738 { 739 return this.getSuperService().getInterfaceAbstractions(); 740 } 741 742 /** 743 * A String representing a new Constructor declaration for this classifier type to be used in a 744 * Java environment. 745 * @see ClassifierFacade#getJavaNewString() 746 */ 747 public String getJavaNewString() 748 { 749 return this.getSuperService().getJavaNewString(); 750 } 751 752 /** 753 * A String representing the null-value for this classifier type to be used in a Java 754 * environment. 755 * @see ClassifierFacade#getJavaNullString() 756 */ 757 public String getJavaNullString() 758 { 759 return this.getSuperService().getJavaNullString(); 760 } 761 762 /** 763 * The other ends of this classifier's association ends which are navigable. 764 * @see ClassifierFacade#getNavigableConnectingEnds() 765 */ 766 public Collection<AssociationEndFacade> getNavigableConnectingEnds() 767 { 768 return this.getSuperService().getNavigableConnectingEnds(); 769 } 770 771 /** 772 * Get the other ends of this classifier's association ends which are navigable and if 'follow' 773 * is true goes up the inheritance hierarchy and gets the super association ends as well. 774 * @see ClassifierFacade#getNavigableConnectingEnds(boolean follow) 775 */ 776 public List<AssociationEndFacade> getNavigableConnectingEnds(boolean follow) 777 { 778 return this.getSuperService().getNavigableConnectingEnds(follow); 779 } 780 781 /** 782 * Assuming that the classifier is an array, this will return the non array type of the 783 * classifier from 784 * the model. If the classifier is NOT an array, it will just return itself. 785 * @see ClassifierFacade#getNonArray() 786 */ 787 public ClassifierFacade getNonArray() 788 { 789 return this.getSuperService().getNonArray(); 790 } 791 792 /** 793 * The attributes from this classifier in the form of an operation call (this example would be 794 * in Java): '(String attributeOne, String attributeTwo). If there were no attributes on the 795 * classifier, the result would be an empty '()'. 796 * @see ClassifierFacade#getOperationCallFromAttributes() 797 */ 798 public String getOperationCallFromAttributes() 799 { 800 return this.getSuperService().getOperationCallFromAttributes(); 801 } 802 803 /** 804 * The operations owned by this classifier. 805 * @see ClassifierFacade#getOperations() 806 */ 807 public List<OperationFacade> getOperations() 808 { 809 return this.getSuperService().getOperations(); 810 } 811 812 /** 813 * A collection containing all 'properties' of the classifier. Properties are any attributes 814 * and navigable connecting association ends. 815 * @see ClassifierFacade#getProperties() 816 */ 817 public List<ModelElementFacade> getProperties() 818 { 819 return this.getSuperService().getProperties(); 820 } 821 822 /** 823 * Gets all properties (attributes and navigable association ends) for the classifier and if 824 * 'follow' is true goes up the inheritance hierarchy and gets the properties from the super 825 * classes as well. 826 * @see ClassifierFacade#getProperties(boolean follow) 827 */ 828 public List getProperties(boolean follow) 829 { 830 return this.getSuperService().getProperties(follow); 831 } 832 833 /** 834 * A collection containing all required and/or read-only 'properties' of the classifier. 835 * Properties are any attributes and navigable connecting association ends. 836 * @see ClassifierFacade#getRequiredConstructorParameters() 837 */ 838 public Collection<ModelElementFacade> getRequiredConstructorParameters() 839 { 840 return this.getSuperService().getRequiredConstructorParameters(); 841 } 842 843 /** 844 * Returns the serial version UID of the underlying model element. 845 * @see ClassifierFacade#getSerialVersionUID() 846 */ 847 public long getSerialVersionUID() 848 { 849 return this.getSuperService().getSerialVersionUID(); 850 } 851 852 /** 853 * Those attributes that are scoped to the definition of this class. 854 * @see ClassifierFacade#getStaticAttributes() 855 */ 856 public Collection<AttributeFacade> getStaticAttributes() 857 { 858 return this.getSuperService().getStaticAttributes(); 859 } 860 861 /** 862 * Those operations that are scoped to the definition of this class. 863 * @see ClassifierFacade#getStaticOperations() 864 */ 865 public List<OperationFacade> getStaticOperations() 866 { 867 return this.getSuperService().getStaticOperations(); 868 } 869 870 /** 871 * This class' superclass, returns the generalization if it is a ClassifierFacade, null 872 * otherwise. 873 * @see ClassifierFacade#getSuperClass() 874 */ 875 public ClassifierFacade getSuperClass() 876 { 877 return this.getSuperService().getSuperClass(); 878 } 879 880 /** 881 * The wrapper name for this classifier if a mapped type has a defined wrapper class (ie. 'long' 882 * maps to 'Long'). If the classifier doesn't have a wrapper defined for it, this method will 883 * return a null. Note that wrapper mappings must be defined for the namespace by defining the 884 * 'wrapperMappingsUri', this property must point to the location of the mappings file which 885 * maps the primitives to wrapper types. 886 * @see ClassifierFacade#getWrapperName() 887 */ 888 public String getWrapperName() 889 { 890 return this.getSuperService().getWrapperName(); 891 } 892 893 /** 894 * Indicates if this classifier is 'abstract'. 895 * @see ClassifierFacade#isAbstract() 896 */ 897 public boolean isAbstract() 898 { 899 return this.getSuperService().isAbstract(); 900 } 901 902 /** 903 * True if this classifier represents an array type. False otherwise. 904 * @see ClassifierFacade#isArrayType() 905 */ 906 public boolean isArrayType() 907 { 908 return this.getSuperService().isArrayType(); 909 } 910 911 /** 912 * True if the ClassifierFacade is an AssociationClass. 913 * @see ClassifierFacade#isAssociationClass() 914 */ 915 public boolean isAssociationClass() 916 { 917 return this.getSuperService().isAssociationClass(); 918 } 919 920 /** 921 * Returns true if this type represents a Blob type. 922 * @see ClassifierFacade#isBlobType() 923 */ 924 public boolean isBlobType() 925 { 926 return this.getSuperService().isBlobType(); 927 } 928 929 /** 930 * Indicates if this type represents a boolean type or not. 931 * @see ClassifierFacade#isBooleanType() 932 */ 933 public boolean isBooleanType() 934 { 935 return this.getSuperService().isBooleanType(); 936 } 937 938 /** 939 * Indicates if this type represents a char, Character, or java.lang.Character type or not. 940 * @see ClassifierFacade#isCharacterType() 941 */ 942 public boolean isCharacterType() 943 { 944 return this.getSuperService().isCharacterType(); 945 } 946 947 /** 948 * Returns true if this type represents a Clob type. 949 * @see ClassifierFacade#isClobType() 950 */ 951 public boolean isClobType() 952 { 953 return this.getSuperService().isClobType(); 954 } 955 956 /** 957 * True if this classifier represents a collection type. False otherwise. 958 * @see ClassifierFacade#isCollectionType() 959 */ 960 public boolean isCollectionType() 961 { 962 return this.getSuperService().isCollectionType(); 963 } 964 965 /** 966 * True/false depending on whether or not this classifier represents a datatype. A data type is 967 * a type whose instances are identified only by their value. A data type may contain attributes 968 * to support the modeling of structured data types. 969 * @see ClassifierFacade#isDataType() 970 */ 971 public boolean isDataType() 972 { 973 return this.getSuperService().isDataType(); 974 } 975 976 /** 977 * True when this classifier is a date type. 978 * @see ClassifierFacade#isDateType() 979 */ 980 public boolean isDateType() 981 { 982 return this.getSuperService().isDateType(); 983 } 984 985 /** 986 * Indicates if this type represents a Double type or not. 987 * @see ClassifierFacade#isDoubleType() 988 */ 989 public boolean isDoubleType() 990 { 991 return this.getSuperService().isDoubleType(); 992 } 993 994 /** 995 * Indicates whether or not this classifier represents an "EmbeddedValue'. 996 * @see ClassifierFacade#isEmbeddedValue() 997 */ 998 public boolean isEmbeddedValue() 999 { 1000 return this.getSuperService().isEmbeddedValue(); 1001 } 1002 1003 /** 1004 * True if this classifier is in fact marked as an enumeration. 1005 * @see ClassifierFacade#isEnumeration() 1006 */ 1007 public boolean isEnumeration() 1008 { 1009 return this.getSuperService().isEnumeration(); 1010 } 1011 1012 /** 1013 * Returns true if this type represents a 'file' type. 1014 * @see ClassifierFacade#isFileType() 1015 */ 1016 public boolean isFileType() 1017 { 1018 return this.getSuperService().isFileType(); 1019 } 1020 1021 /** 1022 * Indicates if this type represents a Float type or not. 1023 * @see ClassifierFacade#isFloatType() 1024 */ 1025 public boolean isFloatType() 1026 { 1027 return this.getSuperService().isFloatType(); 1028 } 1029 1030 /** 1031 * Indicates if this type represents an int or Integer or java.lang.Integer type or not. 1032 * @see ClassifierFacade#isIntegerType() 1033 */ 1034 public boolean isIntegerType() 1035 { 1036 return this.getSuperService().isIntegerType(); 1037 } 1038 1039 /** 1040 * True/false depending on whether or not this Classifier represents an interface. 1041 * @see ClassifierFacade#isInterface() 1042 */ 1043 public boolean isInterface() 1044 { 1045 return this.getSuperService().isInterface(); 1046 } 1047 1048 /** 1049 * True if this classifier cannot be extended and represent a leaf in the inheritance tree. 1050 * @see ClassifierFacade#isLeaf() 1051 */ 1052 public boolean isLeaf() 1053 { 1054 return this.getSuperService().isLeaf(); 1055 } 1056 1057 /** 1058 * True if this classifier represents a list type. False otherwise. 1059 * @see ClassifierFacade#isListType() 1060 */ 1061 public boolean isListType() 1062 { 1063 return this.getSuperService().isListType(); 1064 } 1065 1066 /** 1067 * Indicates if this type represents a Long type or not. 1068 * @see ClassifierFacade#isLongType() 1069 */ 1070 public boolean isLongType() 1071 { 1072 return this.getSuperService().isLongType(); 1073 } 1074 1075 /** 1076 * Indicates whether or not this classifier represents a Map type. 1077 * @see ClassifierFacade#isMapType() 1078 */ 1079 public boolean isMapType() 1080 { 1081 return this.getSuperService().isMapType(); 1082 } 1083 1084 /** 1085 * Indicates whether or not this classifier represents a primitive type. 1086 * @see ClassifierFacade#isPrimitive() 1087 */ 1088 public boolean isPrimitive() 1089 { 1090 return this.getSuperService().isPrimitive(); 1091 } 1092 1093 /** 1094 * True if this classifier represents a set type. False otherwise. 1095 * @see ClassifierFacade#isSetType() 1096 */ 1097 public boolean isSetType() 1098 { 1099 return this.getSuperService().isSetType(); 1100 } 1101 1102 /** 1103 * Indicates whether or not this classifier represents a string type. 1104 * @see ClassifierFacade#isStringType() 1105 */ 1106 public boolean isStringType() 1107 { 1108 return this.getSuperService().isStringType(); 1109 } 1110 1111 /** 1112 * Indicates whether or not this classifier represents a time type. 1113 * @see ClassifierFacade#isTimeType() 1114 */ 1115 public boolean isTimeType() 1116 { 1117 return this.getSuperService().isTimeType(); 1118 } 1119 1120 /** 1121 * Returns true if this type is a wrapped primitive type. 1122 * @see ClassifierFacade#isWrappedPrimitive() 1123 */ 1124 public boolean isWrappedPrimitive() 1125 { 1126 return this.getSuperService().isWrappedPrimitive(); 1127 } 1128 1129 /** 1130 * Finds the tagged value optional searching the entire inheritance hierarchy if 'follow' is set 1131 * to true. 1132 * @see GeneralizableElementFacade#findTaggedValue(String tagName, boolean follow) 1133 */ 1134 public Object findTaggedValue(String tagName, boolean follow) 1135 { 1136 return this.getSuperService().findTaggedValue(tagName, follow); 1137 } 1138 1139 /** 1140 * All generalizations for this generalizable element, goes up the inheritance tree. 1141 * @see GeneralizableElementFacade#getAllGeneralizations() 1142 */ 1143 public Collection<GeneralizableElementFacade> getAllGeneralizations() 1144 { 1145 return this.getSuperService().getAllGeneralizations(); 1146 } 1147 1148 /** 1149 * All specializations (travels down the inheritance hierarchy). 1150 * @see GeneralizableElementFacade#getAllSpecializations() 1151 */ 1152 public Collection<GeneralizableElementFacade> getAllSpecializations() 1153 { 1154 return this.getSuperService().getAllSpecializations(); 1155 } 1156 1157 /** 1158 * Gets the direct generalization for this generalizable element. 1159 * @see GeneralizableElementFacade#getGeneralization() 1160 */ 1161 public GeneralizableElementFacade getGeneralization() 1162 { 1163 return this.getSuperService().getGeneralization(); 1164 } 1165 1166 /** 1167 * Gets the actual links that this generalization element is part of (it plays either the 1168 * specialization or generalization). 1169 * @see GeneralizableElementFacade#getGeneralizationLinks() 1170 */ 1171 public Collection<GeneralizationFacade> getGeneralizationLinks() 1172 { 1173 return this.getSuperService().getGeneralizationLinks(); 1174 } 1175 1176 /** 1177 * A comma separated list of the fully qualified names of all generalizations. 1178 * @see GeneralizableElementFacade#getGeneralizationList() 1179 */ 1180 public String getGeneralizationList() 1181 { 1182 return this.getSuperService().getGeneralizationList(); 1183 } 1184 1185 /** 1186 * The element found when you recursively follow the generalization path up to the root. If an 1187 * element has no generalization itself will be considered the root. 1188 * @see GeneralizableElementFacade#getGeneralizationRoot() 1189 */ 1190 public GeneralizableElementFacade getGeneralizationRoot() 1191 { 1192 return this.getSuperService().getGeneralizationRoot(); 1193 } 1194 1195 /** 1196 * Return all generalizations (ancestors) from this generalizable element. 1197 * @see GeneralizableElementFacade#getGeneralizations() 1198 */ 1199 public Collection<GeneralizableElementFacade> getGeneralizations() 1200 { 1201 return this.getSuperService().getGeneralizations(); 1202 } 1203 1204 /** 1205 * Gets the direct specializations (i.e. sub elements) for this generalizatble element. 1206 * @see GeneralizableElementFacade#getSpecializations() 1207 */ 1208 public Collection<GeneralizableElementFacade> getSpecializations() 1209 { 1210 return this.getSuperService().getSpecializations(); 1211 } 1212 1213 /** 1214 * Copies all tagged values from the given ModelElementFacade to this model element facade. 1215 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element) 1216 */ 1217 public void copyTaggedValues(ModelElementFacade element) 1218 { 1219 this.getSuperService().copyTaggedValues(element); 1220 } 1221 1222 /** 1223 * Finds the tagged value with the specified 'tagName'. In case there are more values the first 1224 * one found will be returned. 1225 * @see ModelElementFacade#findTaggedValue(String tagName) 1226 */ 1227 public Object findTaggedValue(String tagName) 1228 { 1229 return this.getSuperService().findTaggedValue(tagName); 1230 } 1231 1232 /** 1233 * Returns all the values for the tagged value with the specified name. The returned collection 1234 * will contains only String instances, or will be empty. Never null. 1235 * @see ModelElementFacade#findTaggedValues(String tagName) 1236 */ 1237 public Collection<Object> findTaggedValues(String tagName) 1238 { 1239 return this.getSuperService().findTaggedValues(tagName); 1240 } 1241 1242 /** 1243 * Returns the fully qualified name of the model element. The fully qualified name includes 1244 * complete package qualified name of the underlying model element. The templates parameter will 1245 * be replaced by the correct one given the binding relation of the parameter to this element. 1246 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement) 1247 */ 1248 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement) 1249 { 1250 return this.getSuperService().getBindedFullyQualifiedName(bindedElement); 1251 } 1252 1253 /** 1254 * Gets all constraints belonging to the model element. 1255 * @see ModelElementFacade#getConstraints() 1256 */ 1257 public Collection<ConstraintFacade> getConstraints() 1258 { 1259 return this.getSuperService().getConstraints(); 1260 } 1261 1262 /** 1263 * Returns the constraints of the argument kind that have been placed onto this model. Typical 1264 * kinds are "inv", "pre" and "post". Other kinds are possible. 1265 * @see ModelElementFacade#getConstraints(String kind) 1266 */ 1267 public Collection<ConstraintFacade> getConstraints(String kind) 1268 { 1269 return this.getSuperService().getConstraints(kind); 1270 } 1271 1272 /** 1273 * Gets the documentation for the model element, The indent argument is prefixed to each line. 1274 * By default this method wraps lines after 64 characters. 1275 * This method is equivalent to <code>getDocumentation(indent, 64)</code>. 1276 * @see ModelElementFacade#getDocumentation(String indent) 1277 */ 1278 public String getDocumentation(String indent) 1279 { 1280 return this.getSuperService().getDocumentation(indent); 1281 } 1282 1283 /** 1284 * This method returns the documentation for this model element, with the lines wrapped after 1285 * the specified number of characters, values of less than 1 will indicate no line wrapping is 1286 * required. By default paragraphs are returned as HTML. 1287 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>. 1288 * @see ModelElementFacade#getDocumentation(String indent, int lineLength) 1289 */ 1290 public String getDocumentation(String indent, int lineLength) 1291 { 1292 return this.getSuperService().getDocumentation(indent, lineLength); 1293 } 1294 1295 /** 1296 * This method returns the documentation for this model element, with the lines wrapped after 1297 * the specified number of characters, values of less than 1 will indicate no line wrapping is 1298 * required. HTML style determines if HTML Escaping is applied. 1299 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle) 1300 */ 1301 public String getDocumentation(String indent, int lineLength, boolean htmlStyle) 1302 { 1303 return this.getSuperService().getDocumentation(indent, lineLength, htmlStyle); 1304 } 1305 1306 /** 1307 * The fully qualified name of this model element. 1308 * @see ModelElementFacade#getFullyQualifiedName() 1309 */ 1310 public String getFullyQualifiedName() 1311 { 1312 return this.getSuperService().getFullyQualifiedName(); 1313 } 1314 1315 /** 1316 * Returns the fully qualified name of the model element. The fully qualified name includes 1317 * complete package qualified name of the underlying model element. If modelName is true, then 1318 * the original name of the model element (the name contained within the model) will be the name 1319 * returned, otherwise a name from a language mapping will be returned. 1320 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName) 1321 */ 1322 public String getFullyQualifiedName(boolean modelName) 1323 { 1324 return this.getSuperService().getFullyQualifiedName(modelName); 1325 } 1326 1327 /** 1328 * Returns the fully qualified name as a path, the returned value always starts with out a slash 1329 * '/'. 1330 * @see ModelElementFacade#getFullyQualifiedNamePath() 1331 */ 1332 public String getFullyQualifiedNamePath() 1333 { 1334 return this.getSuperService().getFullyQualifiedNamePath(); 1335 } 1336 1337 /** 1338 * Gets the unique identifier of the underlying model element. 1339 * @see ModelElementFacade#getId() 1340 */ 1341 public String getId() 1342 { 1343 return this.getSuperService().getId(); 1344 } 1345 1346 /** 1347 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which 1348 * are not represented by other properties, i.e. native, transient, volatile, synchronized, 1349 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings: 1350 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require 1351 * JDK5 compiler level. 1352 * @see ModelElementFacade#getKeywords() 1353 */ 1354 public Collection<String> getKeywords() 1355 { 1356 return this.getSuperService().getKeywords(); 1357 } 1358 1359 /** 1360 * UML2: Retrieves a localized label for this named element. 1361 * @see ModelElementFacade#getLabel() 1362 */ 1363 public String getLabel() 1364 { 1365 return this.getSuperService().getLabel(); 1366 } 1367 1368 /** 1369 * The language mappings that have been set for this model element. 1370 * @see ModelElementFacade#getLanguageMappings() 1371 */ 1372 public TypeMappings getLanguageMappings() 1373 { 1374 return this.getSuperService().getLanguageMappings(); 1375 } 1376 1377 /** 1378 * Return the model containing this model element (multiple models may be loaded and processed 1379 * at the same time). 1380 * @see ModelElementFacade#getModel() 1381 */ 1382 public ModelFacade getModel() 1383 { 1384 return this.getSuperService().getModel(); 1385 } 1386 1387 /** 1388 * The name of the model element. 1389 * @see ModelElementFacade#getName() 1390 */ 1391 public String getName() 1392 { 1393 return this.getSuperService().getName(); 1394 } 1395 1396 /** 1397 * Gets the package to which this model element belongs. 1398 * @see ModelElementFacade#getPackage() 1399 */ 1400 public ModelElementFacade getPackage() 1401 { 1402 return this.getSuperService().getPackage(); 1403 } 1404 1405 /** 1406 * The name of this model element's package. 1407 * @see ModelElementFacade#getPackageName() 1408 */ 1409 public String getPackageName() 1410 { 1411 return this.getSuperService().getPackageName(); 1412 } 1413 1414 /** 1415 * Gets the package name (optionally providing the ability to retrieve the model name and not 1416 * the mapped name). 1417 * @see ModelElementFacade#getPackageName(boolean modelName) 1418 */ 1419 public String getPackageName(boolean modelName) 1420 { 1421 return this.getSuperService().getPackageName(modelName); 1422 } 1423 1424 /** 1425 * Returns the package as a path, the returned value always starts with out a slash '/'. 1426 * @see ModelElementFacade#getPackagePath() 1427 */ 1428 public String getPackagePath() 1429 { 1430 return this.getSuperService().getPackagePath(); 1431 } 1432 1433 /** 1434 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the 1435 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from 1436 * the names of the containing namespaces starting at the root of the hierarchy and ending with 1437 * the name of the NamedElement itself. 1438 * @see ModelElementFacade#getQualifiedName() 1439 */ 1440 public String getQualifiedName() 1441 { 1442 return this.getSuperService().getQualifiedName(); 1443 } 1444 1445 /** 1446 * Gets the root package for the model element. 1447 * @see ModelElementFacade#getRootPackage() 1448 */ 1449 public PackageFacade getRootPackage() 1450 { 1451 return this.getSuperService().getRootPackage(); 1452 } 1453 1454 /** 1455 * Gets the dependencies for which this model element is the source. 1456 * @see ModelElementFacade#getSourceDependencies() 1457 */ 1458 public Collection<DependencyFacade> getSourceDependencies() 1459 { 1460 return this.getSuperService().getSourceDependencies(); 1461 } 1462 1463 /** 1464 * If this model element is the context of an activity graph, this represents that activity 1465 * graph. 1466 * @see ModelElementFacade#getStateMachineContext() 1467 */ 1468 public StateMachineFacade getStateMachineContext() 1469 { 1470 return this.getSuperService().getStateMachineContext(); 1471 } 1472 1473 /** 1474 * The collection of ALL stereotype names for this model element. 1475 * @see ModelElementFacade#getStereotypeNames() 1476 */ 1477 public Collection<String> getStereotypeNames() 1478 { 1479 return this.getSuperService().getStereotypeNames(); 1480 } 1481 1482 /** 1483 * Gets all stereotypes for this model element. 1484 * @see ModelElementFacade#getStereotypes() 1485 */ 1486 public Collection<StereotypeFacade> getStereotypes() 1487 { 1488 return this.getSuperService().getStereotypes(); 1489 } 1490 1491 /** 1492 * Return the TaggedValues associated with this model element, under all stereotypes. 1493 * @see ModelElementFacade#getTaggedValues() 1494 */ 1495 public Collection<TaggedValueFacade> getTaggedValues() 1496 { 1497 return this.getSuperService().getTaggedValues(); 1498 } 1499 1500 /** 1501 * Gets the dependencies for which this model element is the target. 1502 * @see ModelElementFacade#getTargetDependencies() 1503 */ 1504 public Collection<DependencyFacade> getTargetDependencies() 1505 { 1506 return this.getSuperService().getTargetDependencies(); 1507 } 1508 1509 /** 1510 * Get the template parameter for this model element having the parameterName 1511 * @see ModelElementFacade#getTemplateParameter(String parameterName) 1512 */ 1513 public Object getTemplateParameter(String parameterName) 1514 { 1515 return this.getSuperService().getTemplateParameter(parameterName); 1516 } 1517 1518 /** 1519 * Get the template parameters for this model element 1520 * @see ModelElementFacade#getTemplateParameters() 1521 */ 1522 public Collection<TemplateParameterFacade> getTemplateParameters() 1523 { 1524 return this.getSuperService().getTemplateParameters(); 1525 } 1526 1527 /** 1528 * The visibility (i.e. public, private, protected or package) of the model element, will 1529 * attempt a lookup for these values in the language mappings (if any). 1530 * @see ModelElementFacade#getVisibility() 1531 */ 1532 public String getVisibility() 1533 { 1534 return this.getSuperService().getVisibility(); 1535 } 1536 1537 /** 1538 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance 1539 * is taken into account when searching for the stereotype), false otherwise. 1540 * @see ModelElementFacade#hasExactStereotype(String stereotypeName) 1541 */ 1542 public boolean hasExactStereotype(String stereotypeName) 1543 { 1544 return this.getSuperService().hasExactStereotype(stereotypeName); 1545 } 1546 1547 /** 1548 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma, 1549 * pipe, semicolon, or << >> 1550 * @see ModelElementFacade#hasKeyword(String keywordName) 1551 */ 1552 public boolean hasKeyword(String keywordName) 1553 { 1554 return this.getSuperService().hasKeyword(keywordName); 1555 } 1556 1557 /** 1558 * Returns true if the model element has the specified stereotype. If the stereotype itself 1559 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if 1560 * one of the stereotype's ancestors has a matching name this method will return true, false 1561 * otherwise. 1562 * For example, if we have a certain stereotype called <<exception>> and a model element has a 1563 * stereotype called <<applicationException>> which extends <<exception>>, when calling this 1564 * method with 'stereotypeName' defined as 'exception' the method would return true since 1565 * <<applicationException>> inherits from <<exception>>. If you want to check if the model 1566 * element has the exact stereotype, then use the method 'hasExactStereotype' instead. 1567 * @see ModelElementFacade#hasStereotype(String stereotypeName) 1568 */ 1569 public boolean hasStereotype(String stereotypeName) 1570 { 1571 return this.getSuperService().hasStereotype(stereotypeName); 1572 } 1573 1574 /** 1575 * True if there are target dependencies from this element that are instances of BindingFacade. 1576 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies. 1577 * @see ModelElementFacade#isBindingDependenciesPresent() 1578 */ 1579 public boolean isBindingDependenciesPresent() 1580 { 1581 return this.getSuperService().isBindingDependenciesPresent(); 1582 } 1583 1584 /** 1585 * Indicates if any constraints are present on this model element. 1586 * @see ModelElementFacade#isConstraintsPresent() 1587 */ 1588 public boolean isConstraintsPresent() 1589 { 1590 return this.getSuperService().isConstraintsPresent(); 1591 } 1592 1593 /** 1594 * Indicates if any documentation is present on this model element. 1595 * @see ModelElementFacade#isDocumentationPresent() 1596 */ 1597 public boolean isDocumentationPresent() 1598 { 1599 return this.getSuperService().isDocumentationPresent(); 1600 } 1601 1602 /** 1603 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript. 1604 * @see ModelElementFacade#isReservedWord() 1605 */ 1606 public boolean isReservedWord() 1607 { 1608 return this.getSuperService().isReservedWord(); 1609 } 1610 1611 /** 1612 * True is there are template parameters on this model element. For UML2, applies to Class, 1613 * Operation, Property, and Parameter. 1614 * @see ModelElementFacade#isTemplateParametersPresent() 1615 */ 1616 public boolean isTemplateParametersPresent() 1617 { 1618 return this.getSuperService().isTemplateParametersPresent(); 1619 } 1620 1621 /** 1622 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++, 1623 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on 1624 * Enumerations and Interfaces, optionally applies on other model elements. 1625 * @see ModelElementFacade#isValidIdentifierName() 1626 */ 1627 public boolean isValidIdentifierName() 1628 { 1629 return this.getSuperService().isValidIdentifierName(); 1630 } 1631 1632 /** 1633 * Searches for the constraint with the specified 'name' on this model element, and if found 1634 * translates it using the specified 'translation' from a translation library discovered by the 1635 * framework. 1636 * @see ModelElementFacade#translateConstraint(String name, String translation) 1637 */ 1638 public String translateConstraint(String name, String translation) 1639 { 1640 return this.getSuperService().translateConstraint(name, translation); 1641 } 1642 1643 /** 1644 * Translates all constraints belonging to this model element with the given 'translation'. 1645 * @see ModelElementFacade#translateConstraints(String translation) 1646 */ 1647 public String[] translateConstraints(String translation) 1648 { 1649 return this.getSuperService().translateConstraints(translation); 1650 } 1651 1652 /** 1653 * Translates the constraints of the specified 'kind' belonging to this model element. 1654 * @see ModelElementFacade#translateConstraints(String kind, String translation) 1655 */ 1656 public String[] translateConstraints(String kind, String translation) 1657 { 1658 return this.getSuperService().translateConstraints(kind, translation); 1659 } 1660 1661 /** 1662 * Returns a collection of all entities this service and its ancestors have a relation to. 1663 * @see Service#getAllEntityReferences() 1664 */ 1665 public Collection<DependencyFacade> getAllEntityReferences() 1666 { 1667 return this.getSuperService().getAllEntityReferences(); 1668 } 1669 1670 /** 1671 * All messaging destinations that belong to this service and all decendent services. 1672 * @see Service#getAllMessagingDestinations() 1673 */ 1674 public Collection<Destination> getAllMessagingDestinations() 1675 { 1676 return this.getSuperService().getAllMessagingDestinations(); 1677 } 1678 1679 /** 1680 * All roles associated with the service, this includes both roles that have access to the 1681 * entire service, and any roles that have access to a single operation. 1682 * @see Service#getAllRoles() 1683 */ 1684 public Collection<Role> getAllRoles() 1685 { 1686 return this.getSuperService().getAllRoles(); 1687 } 1688 1689 /** 1690 * Returns a collection of all services this service and its ancestors have a relation to. 1691 * @see Service#getAllServiceReferences() 1692 */ 1693 public Collection<DependencyFacade> getAllServiceReferences() 1694 { 1695 return this.getSuperService().getAllServiceReferences(); 1696 } 1697 1698 /** 1699 * References to all entities to which this service has a dependency. 1700 * @see Service#getEntityReferences() 1701 */ 1702 public Collection<DependencyFacade> getEntityReferences() 1703 { 1704 return this.getSuperService().getEntityReferences(); 1705 } 1706 1707 /** 1708 * All messaging destinations available to this service. 1709 * @see Service#getMessagingDestinations() 1710 */ 1711 public Collection<Destination> getMessagingDestinations() 1712 { 1713 return this.getSuperService().getMessagingDestinations(); 1714 } 1715 1716 /** 1717 * The roles of the service, these are the actor's that can access this service. 1718 * @see Service#getRoles() 1719 */ 1720 public Collection<Role> getRoles() 1721 { 1722 return this.getSuperService().getRoles(); 1723 } 1724 1725 /** 1726 * References to all services to which this service has a dependency. 1727 * @see Service#getServiceReferences() 1728 */ 1729 public Collection<DependencyFacade> getServiceReferences() 1730 { 1731 return this.getSuperService().getServiceReferences(); 1732 } 1733 1734 /** 1735 * @see org.andromda.core.metafacade.MetafacadeBase#initialize() 1736 */ 1737 @Override 1738 public void initialize() 1739 { 1740 this.getSuperService().initialize(); 1741 } 1742 1743 /** 1744 * @return Object getSuperService().getValidationOwner() 1745 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner() 1746 */ 1747 @Override 1748 public Object getValidationOwner() 1749 { 1750 Object owner = this.getSuperService().getValidationOwner(); 1751 return owner; 1752 } 1753 1754 /** 1755 * @return String getSuperService().getValidationName() 1756 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName() 1757 */ 1758 @Override 1759 public String getValidationName() 1760 { 1761 String name = this.getSuperService().getValidationName(); 1762 return name; 1763 } 1764 1765 /** 1766 * @param validationMessages Collection<ModelValidationMessage> 1767 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages) 1768 */ 1769 @Override 1770 public void validateInvariants(Collection<ModelValidationMessage> validationMessages) 1771 { 1772 this.getSuperService().validateInvariants(validationMessages); 1773 } 1774 1775 /** 1776 * The property that stores the name of the metafacade. 1777 */ 1778 private static final String NAME_PROPERTY = "name"; 1779 private static final String FQNAME_PROPERTY = "fullyQualifiedName"; 1780 1781 /** 1782 * @see Object#toString() 1783 */ 1784 @Override 1785 public String toString() 1786 { 1787 final StringBuilder toString = new StringBuilder(this.getClass().getName()); 1788 toString.append("["); 1789 try 1790 { 1791 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY)); 1792 } 1793 catch (final Throwable tryAgain) 1794 { 1795 try 1796 { 1797 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY)); 1798 } 1799 catch (final Throwable ignore) 1800 { 1801 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property 1802 } 1803 } 1804 toString.append("]"); 1805 return toString.toString(); 1806 } 1807}