001// license-header java merge-point 002// 003// Attention: generated code (by MetafacadeLogic.vsl) - do not modify! 004// 005package org.andromda.cartridges.jbpm.metafacades; 006 007import java.util.Collection; 008import org.andromda.core.common.Introspector; 009import org.andromda.core.metafacade.MetafacadeBase; 010import org.andromda.core.metafacade.MetafacadeFactory; 011import org.andromda.core.metafacade.ModelValidationMessage; 012import org.andromda.metafacades.uml.ActionFacade; 013import org.andromda.metafacades.uml.ConstraintFacade; 014import org.andromda.metafacades.uml.DependencyFacade; 015import org.andromda.metafacades.uml.EventFacade; 016import org.andromda.metafacades.uml.GuardFacade; 017import org.andromda.metafacades.uml.ModelElementFacade; 018import org.andromda.metafacades.uml.ModelFacade; 019import org.andromda.metafacades.uml.PackageFacade; 020import org.andromda.metafacades.uml.StateMachineFacade; 021import org.andromda.metafacades.uml.StateVertexFacade; 022import org.andromda.metafacades.uml.StereotypeFacade; 023import org.andromda.metafacades.uml.TaggedValueFacade; 024import org.andromda.metafacades.uml.TemplateParameterFacade; 025import org.andromda.metafacades.uml.TransitionFacade; 026import org.andromda.metafacades.uml.TypeMappings; 027 028/** 029 * TODO: Model Documentation for org.andromda.cartridges.jbpm.metafacades.JBpmTransition 030 * MetafacadeLogic for JBpmTransition 031 * 032 * @see JBpmTransition 033 */ 034public abstract class JBpmTransitionLogic 035 extends MetafacadeBase 036 implements JBpmTransition 037{ 038 /** 039 * The underlying UML object 040 * @see Object 041 */ 042 protected Object metaObject; 043 044 /** Create Metafacade implementation instance using the MetafacadeFactory from the context 045 * @param metaObjectIn 046 * @param context 047 */ 048 protected JBpmTransitionLogic(Object metaObjectIn, String context) 049 { 050 super(metaObjectIn, getContext(context)); 051 this.superTransitionFacade = 052 (TransitionFacade) 053 MetafacadeFactory.getInstance().createFacadeImpl( 054 "org.andromda.metafacades.uml.TransitionFacade", 055 metaObjectIn, 056 getContext(context)); 057 this.metaObject = metaObjectIn; 058 } 059 060 /** 061 * Gets the context for this metafacade logic instance. 062 * @param context String. Set to JBpmTransition if null 063 * @return context String 064 */ 065 private static String getContext(String context) 066 { 067 if (context == null) 068 { 069 context = "org.andromda.cartridges.jbpm.metafacades.JBpmTransition"; 070 } 071 return context; 072 } 073 074 private TransitionFacade superTransitionFacade; 075 private boolean superTransitionFacadeInitialized = false; 076 077 /** 078 * Gets the TransitionFacade parent instance. 079 * @return this.superTransitionFacade TransitionFacade 080 */ 081 private TransitionFacade getSuperTransitionFacade() 082 { 083 if (!this.superTransitionFacadeInitialized) 084 { 085 ((MetafacadeBase)this.superTransitionFacade).setMetafacadeContext(this.getMetafacadeContext()); 086 this.superTransitionFacadeInitialized = true; 087 } 088 return this.superTransitionFacade; 089 } 090 091 /** Reset context only for non-root metafacades 092 * @param context 093 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context) 094 */ 095 @Override 096 public void resetMetafacadeContext(String context) 097 { 098 if (!this.contextRoot) // reset context only for non-root metafacades 099 { 100 context = getContext(context); // to have same value as in original constructor call 101 setMetafacadeContext (context); 102 if (this.superTransitionFacadeInitialized) 103 { 104 ((MetafacadeBase)this.superTransitionFacade).resetMetafacadeContext(context); 105 } 106 } 107 } 108 109 /** 110 * @return boolean true always 111 * @see JBpmTransition 112 */ 113 public boolean isJBpmTransitionMetaType() 114 { 115 return true; 116 } 117 118 // --------------- attributes --------------------- 119 120 /** 121 * @see org.andromda.cartridges.jbpm.metafacades.JBpmTransition#getCondition() 122 * @return String 123 */ 124 protected abstract String handleGetCondition(); 125 126 private String __condition1a; 127 private boolean __condition1aSet = false; 128 129 /** 130 * TODO: Model Documentation for 131 * org.andromda.cartridges.jbpm.metafacades.JBpmTransition.condition 132 * @return (String)handleGetCondition() 133 */ 134 public final String getCondition() 135 { 136 String condition1a = this.__condition1a; 137 if (!this.__condition1aSet) 138 { 139 // condition has no pre constraints 140 condition1a = handleGetCondition(); 141 // condition has no post constraints 142 this.__condition1a = condition1a; 143 if (isMetafacadePropertyCachingEnabled()) 144 { 145 this.__condition1aSet = true; 146 } 147 } 148 return condition1a; 149 } 150 151 /** 152 * @see org.andromda.cartridges.jbpm.metafacades.JBpmTransition#isTaskNode() 153 * @return boolean 154 */ 155 protected abstract boolean handleIsTaskNode(); 156 157 private boolean __taskNode2a; 158 private boolean __taskNode2aSet = false; 159 160 /** 161 * TODO: Model Documentation for 162 * org.andromda.cartridges.jbpm.metafacades.JBpmTransition.taskNode 163 * @return (boolean)handleIsTaskNode() 164 */ 165 public final boolean isTaskNode() 166 { 167 boolean taskNode2a = this.__taskNode2a; 168 if (!this.__taskNode2aSet) 169 { 170 // taskNode has no pre constraints 171 taskNode2a = handleIsTaskNode(); 172 // taskNode has no post constraints 173 this.__taskNode2a = taskNode2a; 174 if (isMetafacadePropertyCachingEnabled()) 175 { 176 this.__taskNode2aSet = true; 177 } 178 } 179 return taskNode2a; 180 } 181 182 /** 183 * @see org.andromda.cartridges.jbpm.metafacades.JBpmTransition#isContainedInBusinessProcess() 184 * @return boolean 185 */ 186 protected abstract boolean handleIsContainedInBusinessProcess(); 187 188 private boolean __containedInBusinessProcess3a; 189 private boolean __containedInBusinessProcess3aSet = false; 190 191 /** 192 * True if this element is part of a business process usecase. 193 * @return (boolean)handleIsContainedInBusinessProcess() 194 */ 195 public final boolean isContainedInBusinessProcess() 196 { 197 boolean containedInBusinessProcess3a = this.__containedInBusinessProcess3a; 198 if (!this.__containedInBusinessProcess3aSet) 199 { 200 // containedInBusinessProcess has no pre constraints 201 containedInBusinessProcess3a = handleIsContainedInBusinessProcess(); 202 // containedInBusinessProcess has no post constraints 203 this.__containedInBusinessProcess3a = containedInBusinessProcess3a; 204 if (isMetafacadePropertyCachingEnabled()) 205 { 206 this.__containedInBusinessProcess3aSet = true; 207 } 208 } 209 return containedInBusinessProcess3a; 210 } 211 212 /** 213 * @return true 214 * @see TransitionFacade 215 */ 216 public boolean isTransitionFacadeMetaType() 217 { 218 return true; 219 } 220 221 /** 222 * @return true 223 * @see ModelElementFacade 224 */ 225 public boolean isModelElementFacadeMetaType() 226 { 227 return true; 228 } 229 230 // ----------- delegates to TransitionFacade ------------ 231 /** 232 * Copies all tagged values from the given ModelElementFacade to this model element facade. 233 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element) 234 */ 235 public void copyTaggedValues(ModelElementFacade element) 236 { 237 this.getSuperTransitionFacade().copyTaggedValues(element); 238 } 239 240 /** 241 * Finds the tagged value with the specified 'tagName'. In case there are more values the first 242 * one found will be returned. 243 * @see ModelElementFacade#findTaggedValue(String tagName) 244 */ 245 public Object findTaggedValue(String tagName) 246 { 247 return this.getSuperTransitionFacade().findTaggedValue(tagName); 248 } 249 250 /** 251 * Returns all the values for the tagged value with the specified name. The returned collection 252 * will contains only String instances, or will be empty. Never null. 253 * @see ModelElementFacade#findTaggedValues(String tagName) 254 */ 255 public Collection<Object> findTaggedValues(String tagName) 256 { 257 return this.getSuperTransitionFacade().findTaggedValues(tagName); 258 } 259 260 /** 261 * Returns the fully qualified name of the model element. The fully qualified name includes 262 * complete package qualified name of the underlying model element. The templates parameter will 263 * be replaced by the correct one given the binding relation of the parameter to this element. 264 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement) 265 */ 266 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement) 267 { 268 return this.getSuperTransitionFacade().getBindedFullyQualifiedName(bindedElement); 269 } 270 271 /** 272 * Gets all constraints belonging to the model element. 273 * @see ModelElementFacade#getConstraints() 274 */ 275 public Collection<ConstraintFacade> getConstraints() 276 { 277 return this.getSuperTransitionFacade().getConstraints(); 278 } 279 280 /** 281 * Returns the constraints of the argument kind that have been placed onto this model. Typical 282 * kinds are "inv", "pre" and "post". Other kinds are possible. 283 * @see ModelElementFacade#getConstraints(String kind) 284 */ 285 public Collection<ConstraintFacade> getConstraints(String kind) 286 { 287 return this.getSuperTransitionFacade().getConstraints(kind); 288 } 289 290 /** 291 * Gets the documentation for the model element, The indent argument is prefixed to each line. 292 * By default this method wraps lines after 64 characters. 293 * This method is equivalent to <code>getDocumentation(indent, 64)</code>. 294 * @see ModelElementFacade#getDocumentation(String indent) 295 */ 296 public String getDocumentation(String indent) 297 { 298 return this.getSuperTransitionFacade().getDocumentation(indent); 299 } 300 301 /** 302 * This method returns the documentation for this model element, with the lines wrapped after 303 * the specified number of characters, values of less than 1 will indicate no line wrapping is 304 * required. By default paragraphs are returned as HTML. 305 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>. 306 * @see ModelElementFacade#getDocumentation(String indent, int lineLength) 307 */ 308 public String getDocumentation(String indent, int lineLength) 309 { 310 return this.getSuperTransitionFacade().getDocumentation(indent, lineLength); 311 } 312 313 /** 314 * This method returns the documentation for this model element, with the lines wrapped after 315 * the specified number of characters, values of less than 1 will indicate no line wrapping is 316 * required. HTML style determines if HTML Escaping is applied. 317 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle) 318 */ 319 public String getDocumentation(String indent, int lineLength, boolean htmlStyle) 320 { 321 return this.getSuperTransitionFacade().getDocumentation(indent, lineLength, htmlStyle); 322 } 323 324 /** 325 * The fully qualified name of this model element. 326 * @see ModelElementFacade#getFullyQualifiedName() 327 */ 328 public String getFullyQualifiedName() 329 { 330 return this.getSuperTransitionFacade().getFullyQualifiedName(); 331 } 332 333 /** 334 * Returns the fully qualified name of the model element. The fully qualified name includes 335 * complete package qualified name of the underlying model element. If modelName is true, then 336 * the original name of the model element (the name contained within the model) will be the name 337 * returned, otherwise a name from a language mapping will be returned. 338 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName) 339 */ 340 public String getFullyQualifiedName(boolean modelName) 341 { 342 return this.getSuperTransitionFacade().getFullyQualifiedName(modelName); 343 } 344 345 /** 346 * Returns the fully qualified name as a path, the returned value always starts with out a slash 347 * '/'. 348 * @see ModelElementFacade#getFullyQualifiedNamePath() 349 */ 350 public String getFullyQualifiedNamePath() 351 { 352 return this.getSuperTransitionFacade().getFullyQualifiedNamePath(); 353 } 354 355 /** 356 * Gets the unique identifier of the underlying model element. 357 * @see ModelElementFacade#getId() 358 */ 359 public String getId() 360 { 361 return this.getSuperTransitionFacade().getId(); 362 } 363 364 /** 365 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which 366 * are not represented by other properties, i.e. native, transient, volatile, synchronized, 367 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings: 368 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require 369 * JDK5 compiler level. 370 * @see ModelElementFacade#getKeywords() 371 */ 372 public Collection<String> getKeywords() 373 { 374 return this.getSuperTransitionFacade().getKeywords(); 375 } 376 377 /** 378 * UML2: Retrieves a localized label for this named element. 379 * @see ModelElementFacade#getLabel() 380 */ 381 public String getLabel() 382 { 383 return this.getSuperTransitionFacade().getLabel(); 384 } 385 386 /** 387 * The language mappings that have been set for this model element. 388 * @see ModelElementFacade#getLanguageMappings() 389 */ 390 public TypeMappings getLanguageMappings() 391 { 392 return this.getSuperTransitionFacade().getLanguageMappings(); 393 } 394 395 /** 396 * Return the model containing this model element (multiple models may be loaded and processed 397 * at the same time). 398 * @see ModelElementFacade#getModel() 399 */ 400 public ModelFacade getModel() 401 { 402 return this.getSuperTransitionFacade().getModel(); 403 } 404 405 /** 406 * The name of the model element. 407 * @see ModelElementFacade#getName() 408 */ 409 public String getName() 410 { 411 return this.getSuperTransitionFacade().getName(); 412 } 413 414 /** 415 * Gets the package to which this model element belongs. 416 * @see ModelElementFacade#getPackage() 417 */ 418 public ModelElementFacade getPackage() 419 { 420 return this.getSuperTransitionFacade().getPackage(); 421 } 422 423 /** 424 * The name of this model element's package. 425 * @see ModelElementFacade#getPackageName() 426 */ 427 public String getPackageName() 428 { 429 return this.getSuperTransitionFacade().getPackageName(); 430 } 431 432 /** 433 * Gets the package name (optionally providing the ability to retrieve the model name and not 434 * the mapped name). 435 * @see ModelElementFacade#getPackageName(boolean modelName) 436 */ 437 public String getPackageName(boolean modelName) 438 { 439 return this.getSuperTransitionFacade().getPackageName(modelName); 440 } 441 442 /** 443 * Returns the package as a path, the returned value always starts with out a slash '/'. 444 * @see ModelElementFacade#getPackagePath() 445 */ 446 public String getPackagePath() 447 { 448 return this.getSuperTransitionFacade().getPackagePath(); 449 } 450 451 /** 452 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the 453 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from 454 * the names of the containing namespaces starting at the root of the hierarchy and ending with 455 * the name of the NamedElement itself. 456 * @see ModelElementFacade#getQualifiedName() 457 */ 458 public String getQualifiedName() 459 { 460 return this.getSuperTransitionFacade().getQualifiedName(); 461 } 462 463 /** 464 * Gets the root package for the model element. 465 * @see ModelElementFacade#getRootPackage() 466 */ 467 public PackageFacade getRootPackage() 468 { 469 return this.getSuperTransitionFacade().getRootPackage(); 470 } 471 472 /** 473 * Gets the dependencies for which this model element is the source. 474 * @see ModelElementFacade#getSourceDependencies() 475 */ 476 public Collection<DependencyFacade> getSourceDependencies() 477 { 478 return this.getSuperTransitionFacade().getSourceDependencies(); 479 } 480 481 /** 482 * If this model element is the context of an activity graph, this represents that activity 483 * graph. 484 * @see ModelElementFacade#getStateMachineContext() 485 */ 486 public StateMachineFacade getStateMachineContext() 487 { 488 return this.getSuperTransitionFacade().getStateMachineContext(); 489 } 490 491 /** 492 * The collection of ALL stereotype names for this model element. 493 * @see ModelElementFacade#getStereotypeNames() 494 */ 495 public Collection<String> getStereotypeNames() 496 { 497 return this.getSuperTransitionFacade().getStereotypeNames(); 498 } 499 500 /** 501 * Gets all stereotypes for this model element. 502 * @see ModelElementFacade#getStereotypes() 503 */ 504 public Collection<StereotypeFacade> getStereotypes() 505 { 506 return this.getSuperTransitionFacade().getStereotypes(); 507 } 508 509 /** 510 * Return the TaggedValues associated with this model element, under all stereotypes. 511 * @see ModelElementFacade#getTaggedValues() 512 */ 513 public Collection<TaggedValueFacade> getTaggedValues() 514 { 515 return this.getSuperTransitionFacade().getTaggedValues(); 516 } 517 518 /** 519 * Gets the dependencies for which this model element is the target. 520 * @see ModelElementFacade#getTargetDependencies() 521 */ 522 public Collection<DependencyFacade> getTargetDependencies() 523 { 524 return this.getSuperTransitionFacade().getTargetDependencies(); 525 } 526 527 /** 528 * Get the template parameter for this model element having the parameterName 529 * @see ModelElementFacade#getTemplateParameter(String parameterName) 530 */ 531 public Object getTemplateParameter(String parameterName) 532 { 533 return this.getSuperTransitionFacade().getTemplateParameter(parameterName); 534 } 535 536 /** 537 * Get the template parameters for this model element 538 * @see ModelElementFacade#getTemplateParameters() 539 */ 540 public Collection<TemplateParameterFacade> getTemplateParameters() 541 { 542 return this.getSuperTransitionFacade().getTemplateParameters(); 543 } 544 545 /** 546 * The visibility (i.e. public, private, protected or package) of the model element, will 547 * attempt a lookup for these values in the language mappings (if any). 548 * @see ModelElementFacade#getVisibility() 549 */ 550 public String getVisibility() 551 { 552 return this.getSuperTransitionFacade().getVisibility(); 553 } 554 555 /** 556 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance 557 * is taken into account when searching for the stereotype), false otherwise. 558 * @see ModelElementFacade#hasExactStereotype(String stereotypeName) 559 */ 560 public boolean hasExactStereotype(String stereotypeName) 561 { 562 return this.getSuperTransitionFacade().hasExactStereotype(stereotypeName); 563 } 564 565 /** 566 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma, 567 * pipe, semicolon, or << >> 568 * @see ModelElementFacade#hasKeyword(String keywordName) 569 */ 570 public boolean hasKeyword(String keywordName) 571 { 572 return this.getSuperTransitionFacade().hasKeyword(keywordName); 573 } 574 575 /** 576 * Returns true if the model element has the specified stereotype. If the stereotype itself 577 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if 578 * one of the stereotype's ancestors has a matching name this method will return true, false 579 * otherwise. 580 * For example, if we have a certain stereotype called <<exception>> and a model element has a 581 * stereotype called <<applicationException>> which extends <<exception>>, when calling this 582 * method with 'stereotypeName' defined as 'exception' the method would return true since 583 * <<applicationException>> inherits from <<exception>>. If you want to check if the model 584 * element has the exact stereotype, then use the method 'hasExactStereotype' instead. 585 * @see ModelElementFacade#hasStereotype(String stereotypeName) 586 */ 587 public boolean hasStereotype(String stereotypeName) 588 { 589 return this.getSuperTransitionFacade().hasStereotype(stereotypeName); 590 } 591 592 /** 593 * True if there are target dependencies from this element that are instances of BindingFacade. 594 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies. 595 * @see ModelElementFacade#isBindingDependenciesPresent() 596 */ 597 public boolean isBindingDependenciesPresent() 598 { 599 return this.getSuperTransitionFacade().isBindingDependenciesPresent(); 600 } 601 602 /** 603 * Indicates if any constraints are present on this model element. 604 * @see ModelElementFacade#isConstraintsPresent() 605 */ 606 public boolean isConstraintsPresent() 607 { 608 return this.getSuperTransitionFacade().isConstraintsPresent(); 609 } 610 611 /** 612 * Indicates if any documentation is present on this model element. 613 * @see ModelElementFacade#isDocumentationPresent() 614 */ 615 public boolean isDocumentationPresent() 616 { 617 return this.getSuperTransitionFacade().isDocumentationPresent(); 618 } 619 620 /** 621 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript. 622 * @see ModelElementFacade#isReservedWord() 623 */ 624 public boolean isReservedWord() 625 { 626 return this.getSuperTransitionFacade().isReservedWord(); 627 } 628 629 /** 630 * True is there are template parameters on this model element. For UML2, applies to Class, 631 * Operation, Property, and Parameter. 632 * @see ModelElementFacade#isTemplateParametersPresent() 633 */ 634 public boolean isTemplateParametersPresent() 635 { 636 return this.getSuperTransitionFacade().isTemplateParametersPresent(); 637 } 638 639 /** 640 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++, 641 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on 642 * Enumerations and Interfaces, optionally applies on other model elements. 643 * @see ModelElementFacade#isValidIdentifierName() 644 */ 645 public boolean isValidIdentifierName() 646 { 647 return this.getSuperTransitionFacade().isValidIdentifierName(); 648 } 649 650 /** 651 * Searches for the constraint with the specified 'name' on this model element, and if found 652 * translates it using the specified 'translation' from a translation library discovered by the 653 * framework. 654 * @see ModelElementFacade#translateConstraint(String name, String translation) 655 */ 656 public String translateConstraint(String name, String translation) 657 { 658 return this.getSuperTransitionFacade().translateConstraint(name, translation); 659 } 660 661 /** 662 * Translates all constraints belonging to this model element with the given 'translation'. 663 * @see ModelElementFacade#translateConstraints(String translation) 664 */ 665 public String[] translateConstraints(String translation) 666 { 667 return this.getSuperTransitionFacade().translateConstraints(translation); 668 } 669 670 /** 671 * Translates the constraints of the specified 'kind' belonging to this model element. 672 * @see ModelElementFacade#translateConstraints(String kind, String translation) 673 */ 674 public String[] translateConstraints(String kind, String translation) 675 { 676 return this.getSuperTransitionFacade().translateConstraints(kind, translation); 677 } 678 679 /** 680 * An action is a named element that is the fundamental unit of executable functionality. The 681 * execution 682 * of an action represents some transformation or processing in the modeled system, be it a 683 * computer 684 * system or otherwise. An action represents a single step within an activity, that is, one that 685 * is not 686 * further decomposed within the activity. An action has pre- and post-conditions. 687 * @see TransitionFacade#getEffect() 688 */ 689 public ActionFacade getEffect() 690 { 691 return this.getSuperTransitionFacade().getEffect(); 692 } 693 694 /** 695 * A representation of the model object 'Constraint'. A condition or restriction expressed in 696 * natural 697 * language text or in a machine readable language for the purpose of declaring some of the 698 * semantics 699 * of an element. 700 * @see TransitionFacade#getGuard() 701 */ 702 public GuardFacade getGuard() 703 { 704 return this.getSuperTransitionFacade().getGuard(); 705 } 706 707 /** 708 * A representation of the model object 'Vertex'. An abstraction of a node in a state machine 709 * graph. In 710 * general, it can be the source or destination of any number of transitions. 711 * @see TransitionFacade#getSource() 712 */ 713 public StateVertexFacade getSource() 714 { 715 return this.getSuperTransitionFacade().getSource(); 716 } 717 718 /** 719 * A representation of the model object 'Vertex'. An abstraction of a node in a state machine 720 * graph. In 721 * general, it can be the source or destination of any number of transitions. 722 * @see TransitionFacade#getTarget() 723 */ 724 public StateVertexFacade getTarget() 725 { 726 return this.getSuperTransitionFacade().getTarget(); 727 } 728 729 /** 730 * If a trigger is present on this transition, this event represents that trigger. 731 * @see TransitionFacade#getTrigger() 732 */ 733 public EventFacade getTrigger() 734 { 735 return this.getSuperTransitionFacade().getTrigger(); 736 } 737 738 /** 739 * TODO: Model Documentation for 740 * TransitionFacade.enteringActionState 741 * @see TransitionFacade#isEnteringActionState() 742 */ 743 public boolean isEnteringActionState() 744 { 745 return this.getSuperTransitionFacade().isEnteringActionState(); 746 } 747 748 /** 749 * TODO: Model Documentation for 750 * TransitionFacade.enteringDecisionPoint 751 * @see TransitionFacade#isEnteringDecisionPoint() 752 */ 753 public boolean isEnteringDecisionPoint() 754 { 755 return this.getSuperTransitionFacade().isEnteringDecisionPoint(); 756 } 757 758 /** 759 * TODO: Model Documentation for 760 * TransitionFacade.enteringFinalState 761 * @see TransitionFacade#isEnteringFinalState() 762 */ 763 public boolean isEnteringFinalState() 764 { 765 return this.getSuperTransitionFacade().isEnteringFinalState(); 766 } 767 768 /** 769 * TODO: Model Documentation for 770 * TransitionFacade.exitingActionState 771 * @see TransitionFacade#isExitingActionState() 772 */ 773 public boolean isExitingActionState() 774 { 775 return this.getSuperTransitionFacade().isExitingActionState(); 776 } 777 778 /** 779 * TODO: Model Documentation for 780 * TransitionFacade.exitingDecisionPoint 781 * @see TransitionFacade#isExitingDecisionPoint() 782 */ 783 public boolean isExitingDecisionPoint() 784 { 785 return this.getSuperTransitionFacade().isExitingDecisionPoint(); 786 } 787 788 /** 789 * TODO: Model Documentation for 790 * TransitionFacade.exitingInitialState 791 * @see TransitionFacade#isExitingInitialState() 792 */ 793 public boolean isExitingInitialState() 794 { 795 return this.getSuperTransitionFacade().isExitingInitialState(); 796 } 797 798 /** 799 * TODO: Model Documentation for TransitionFacade.triggerPresent 800 * @see TransitionFacade#isTriggerPresent() 801 */ 802 public boolean isTriggerPresent() 803 { 804 return this.getSuperTransitionFacade().isTriggerPresent(); 805 } 806 807 /** 808 * @see org.andromda.core.metafacade.MetafacadeBase#initialize() 809 */ 810 @Override 811 public void initialize() 812 { 813 this.getSuperTransitionFacade().initialize(); 814 } 815 816 /** 817 * @return Object getSuperTransitionFacade().getValidationOwner() 818 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner() 819 */ 820 @Override 821 public Object getValidationOwner() 822 { 823 Object owner = this.getSuperTransitionFacade().getValidationOwner(); 824 return owner; 825 } 826 827 /** 828 * @return String getSuperTransitionFacade().getValidationName() 829 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName() 830 */ 831 @Override 832 public String getValidationName() 833 { 834 String name = this.getSuperTransitionFacade().getValidationName(); 835 return name; 836 } 837 838 /** 839 * @param validationMessages Collection<ModelValidationMessage> 840 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages) 841 */ 842 @Override 843 public void validateInvariants(Collection<ModelValidationMessage> validationMessages) 844 { 845 this.getSuperTransitionFacade().validateInvariants(validationMessages); 846 } 847 848 /** 849 * The property that stores the name of the metafacade. 850 */ 851 private static final String NAME_PROPERTY = "name"; 852 private static final String FQNAME_PROPERTY = "fullyQualifiedName"; 853 854 /** 855 * @see Object#toString() 856 */ 857 @Override 858 public String toString() 859 { 860 final StringBuilder toString = new StringBuilder(this.getClass().getName()); 861 toString.append("["); 862 try 863 { 864 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY)); 865 } 866 catch (final Throwable tryAgain) 867 { 868 try 869 { 870 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY)); 871 } 872 catch (final Throwable ignore) 873 { 874 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property 875 } 876 } 877 toString.append("]"); 878 return toString.toString(); 879 } 880}