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