001// license-header java merge-point 002// 003// Attention: generated code (by MetafacadeLogic.vsl) - do not modify! 004// 005package org.andromda.cartridges.ejb3.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.AttributeFacade; 013import org.andromda.metafacades.uml.ClassifierFacade; 014import org.andromda.metafacades.uml.ConstraintFacade; 015import org.andromda.metafacades.uml.DependencyFacade; 016import org.andromda.metafacades.uml.EnumerationFacade; 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.StereotypeFacade; 022import org.andromda.metafacades.uml.TaggedValueFacade; 023import org.andromda.metafacades.uml.TemplateParameterFacade; 024import org.andromda.metafacades.uml.TypeMappings; 025 026/** 027 * TODO: Model Documentation for org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade 028 * MetafacadeLogic for EJB3SessionAttributeFacade 029 * 030 * @see EJB3SessionAttributeFacade 031 */ 032public abstract class EJB3SessionAttributeFacadeLogic 033 extends MetafacadeBase 034 implements EJB3SessionAttributeFacade 035{ 036 /** 037 * The underlying UML object 038 * @see Object 039 */ 040 protected Object metaObject; 041 042 /** Create Metafacade implementation instance using the MetafacadeFactory from the context 043 * @param metaObjectIn 044 * @param context 045 */ 046 protected EJB3SessionAttributeFacadeLogic(Object metaObjectIn, String context) 047 { 048 super(metaObjectIn, getContext(context)); 049 this.superAttributeFacade = 050 (AttributeFacade) 051 MetafacadeFactory.getInstance().createFacadeImpl( 052 "org.andromda.metafacades.uml.AttributeFacade", 053 metaObjectIn, 054 getContext(context)); 055 this.metaObject = metaObjectIn; 056 } 057 058 /** 059 * Gets the context for this metafacade logic instance. 060 * @param context String. Set to EJB3SessionAttributeFacade if null 061 * @return context String 062 */ 063 private static String getContext(String context) 064 { 065 if (context == null) 066 { 067 context = "org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade"; 068 } 069 return context; 070 } 071 072 private AttributeFacade superAttributeFacade; 073 private boolean superAttributeFacadeInitialized = false; 074 075 /** 076 * Gets the AttributeFacade parent instance. 077 * @return this.superAttributeFacade AttributeFacade 078 */ 079 private AttributeFacade getSuperAttributeFacade() 080 { 081 if (!this.superAttributeFacadeInitialized) 082 { 083 ((MetafacadeBase)this.superAttributeFacade).setMetafacadeContext(this.getMetafacadeContext()); 084 this.superAttributeFacadeInitialized = true; 085 } 086 return this.superAttributeFacade; 087 } 088 089 /** Reset context only for non-root metafacades 090 * @param context 091 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context) 092 */ 093 @Override 094 public void resetMetafacadeContext(String context) 095 { 096 if (!this.contextRoot) // reset context only for non-root metafacades 097 { 098 context = getContext(context); // to have same value as in original constructor call 099 setMetafacadeContext (context); 100 if (this.superAttributeFacadeInitialized) 101 { 102 ((MetafacadeBase)this.superAttributeFacade).resetMetafacadeContext(context); 103 } 104 } 105 } 106 107 /** 108 * @return boolean true always 109 * @see EJB3SessionAttributeFacade 110 */ 111 public boolean isEJB3SessionAttributeFacadeMetaType() 112 { 113 return true; 114 } 115 116 // --------------- attributes --------------------- 117 118 /** 119 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getTransactionType() 120 * @return String 121 */ 122 protected abstract String handleGetTransactionType(); 123 124 private String __transactionType1a; 125 private boolean __transactionType1aSet = false; 126 127 /** 128 * Gets the transaction type for this attribute (i.e. REQUIRED, etc) 129 * @return (String)handleGetTransactionType() 130 */ 131 public final String getTransactionType() 132 { 133 String transactionType1a = this.__transactionType1a; 134 if (!this.__transactionType1aSet) 135 { 136 // transactionType has no pre constraints 137 transactionType1a = handleGetTransactionType(); 138 // transactionType has no post constraints 139 this.__transactionType1a = transactionType1a; 140 if (isMetafacadePropertyCachingEnabled()) 141 { 142 this.__transactionType1aSet = true; 143 } 144 } 145 return transactionType1a; 146 } 147 148 /** 149 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamBijectionIn() 150 * @return boolean 151 */ 152 protected abstract boolean handleIsSeamBijectionIn(); 153 154 private boolean __seamBijectionIn2a; 155 private boolean __seamBijectionIn2aSet = false; 156 157 /** 158 * Returns true the attribute is modelled with the <<In>> stereotype indicating that it is a 159 * Seam component attribute and is to be injected from a context variable at the start of each 160 * component invocation. 161 * @return (boolean)handleIsSeamBijectionIn() 162 */ 163 public final boolean isSeamBijectionIn() 164 { 165 boolean seamBijectionIn2a = this.__seamBijectionIn2a; 166 if (!this.__seamBijectionIn2aSet) 167 { 168 // seamBijectionIn has no pre constraints 169 seamBijectionIn2a = handleIsSeamBijectionIn(); 170 // seamBijectionIn has no post constraints 171 this.__seamBijectionIn2a = seamBijectionIn2a; 172 if (isMetafacadePropertyCachingEnabled()) 173 { 174 this.__seamBijectionIn2aSet = true; 175 } 176 } 177 return seamBijectionIn2a; 178 } 179 180 /** 181 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamBijectionOut() 182 * @return boolean 183 */ 184 protected abstract boolean handleIsSeamBijectionOut(); 185 186 private boolean __seamBijectionOut3a; 187 private boolean __seamBijectionOut3aSet = false; 188 189 /** 190 * Returns true if the attribute is modelled with the <<Out>> stereotype indicating that it is a 191 * Seam component attribute and is to be outjected to a context variable at the end of each 192 * component invocation. 193 * @return (boolean)handleIsSeamBijectionOut() 194 */ 195 public final boolean isSeamBijectionOut() 196 { 197 boolean seamBijectionOut3a = this.__seamBijectionOut3a; 198 if (!this.__seamBijectionOut3aSet) 199 { 200 // seamBijectionOut has no pre constraints 201 seamBijectionOut3a = handleIsSeamBijectionOut(); 202 // seamBijectionOut has no post constraints 203 this.__seamBijectionOut3a = seamBijectionOut3a; 204 if (isMetafacadePropertyCachingEnabled()) 205 { 206 this.__seamBijectionOut3aSet = true; 207 } 208 } 209 return seamBijectionOut3a; 210 } 211 212 /** 213 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamValidationValid() 214 * @return boolean 215 */ 216 protected abstract boolean handleIsSeamValidationValid(); 217 218 private boolean __seamValidationValid4a; 219 private boolean __seamValidationValid4aSet = false; 220 221 /** 222 * Returns true if the <<Valid>> stereotype is modelled on seam component bean attribute to 223 * Indicates that the hibernate Validator recursively validate this and related objects when an 224 * action listener Seam component method with IfInvalid annotation is invoked. 225 * @return (boolean)handleIsSeamValidationValid() 226 */ 227 public final boolean isSeamValidationValid() 228 { 229 boolean seamValidationValid4a = this.__seamValidationValid4a; 230 if (!this.__seamValidationValid4aSet) 231 { 232 // seamValidationValid has no pre constraints 233 seamValidationValid4a = handleIsSeamValidationValid(); 234 // seamValidationValid has no post constraints 235 this.__seamValidationValid4a = seamValidationValid4a; 236 if (isMetafacadePropertyCachingEnabled()) 237 { 238 this.__seamValidationValid4aSet = true; 239 } 240 } 241 return seamValidationValid4a; 242 } 243 244 /** 245 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamDataModel() 246 * @return boolean 247 */ 248 protected abstract boolean handleIsSeamDataModel(); 249 250 private boolean __seamDataModel5a; 251 private boolean __seamDataModel5aSet = false; 252 253 /** 254 * Returns true if the attribute of type List, Map, Set or Object[] is modelled with the 255 * <<DataModel>> stereotype indicating that it shall be exposed as a JSF DataModel into the 256 * scope of the owning component (or the EVENT scope if the owning component is STATELESS). In 257 * the case of Map, each row of the DataModel is a Map.Entry. 258 * @return (boolean)handleIsSeamDataModel() 259 */ 260 public final boolean isSeamDataModel() 261 { 262 boolean seamDataModel5a = this.__seamDataModel5a; 263 if (!this.__seamDataModel5aSet) 264 { 265 // seamDataModel has no pre constraints 266 seamDataModel5a = handleIsSeamDataModel(); 267 // seamDataModel has no post constraints 268 this.__seamDataModel5a = seamDataModel5a; 269 if (isMetafacadePropertyCachingEnabled()) 270 { 271 this.__seamDataModel5aSet = true; 272 } 273 } 274 return seamDataModel5a; 275 } 276 277 /** 278 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamDataModelSelection() 279 * @return boolean 280 */ 281 protected abstract boolean handleIsSeamDataModelSelection(); 282 283 private boolean __seamDataModelSelection6a; 284 private boolean __seamDataModelSelection6aSet = false; 285 286 /** 287 * Returns true if stereotype <<DataModelSelection>> is set. Injects the selected value from the 288 * JSF DataModel (this is the element of the underlying collection, or the map value). 289 * @return (boolean)handleIsSeamDataModelSelection() 290 */ 291 public final boolean isSeamDataModelSelection() 292 { 293 boolean seamDataModelSelection6a = this.__seamDataModelSelection6a; 294 if (!this.__seamDataModelSelection6aSet) 295 { 296 // seamDataModelSelection has no pre constraints 297 seamDataModelSelection6a = handleIsSeamDataModelSelection(); 298 // seamDataModelSelection has no post constraints 299 this.__seamDataModelSelection6a = seamDataModelSelection6a; 300 if (isMetafacadePropertyCachingEnabled()) 301 { 302 this.__seamDataModelSelection6aSet = true; 303 } 304 } 305 return seamDataModelSelection6a; 306 } 307 308 /** 309 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamDataModelSelectionIndex() 310 * @return boolean 311 */ 312 protected abstract boolean handleIsSeamDataModelSelectionIndex(); 313 314 private boolean __seamDataModelSelectionIndex7a; 315 private boolean __seamDataModelSelectionIndex7aSet = false; 316 317 /** 318 * Returns true if stereotype <<DataModelSelectionIndex>> is set. Exposes the selection index of 319 * the JSF DataModel as an attribute of the component (this is the row number of the underlying 320 * collection, or the map key). 321 * @return (boolean)handleIsSeamDataModelSelectionIndex() 322 */ 323 public final boolean isSeamDataModelSelectionIndex() 324 { 325 boolean seamDataModelSelectionIndex7a = this.__seamDataModelSelectionIndex7a; 326 if (!this.__seamDataModelSelectionIndex7aSet) 327 { 328 // seamDataModelSelectionIndex has no pre constraints 329 seamDataModelSelectionIndex7a = handleIsSeamDataModelSelectionIndex(); 330 // seamDataModelSelectionIndex has no post constraints 331 this.__seamDataModelSelectionIndex7a = seamDataModelSelectionIndex7a; 332 if (isMetafacadePropertyCachingEnabled()) 333 { 334 this.__seamDataModelSelectionIndex7aSet = true; 335 } 336 } 337 return seamDataModelSelectionIndex7a; 338 } 339 340 /** 341 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamBijectionLogger() 342 * @return boolean 343 */ 344 protected abstract boolean handleIsSeamBijectionLogger(); 345 346 private boolean __seamBijectionLogger8a; 347 private boolean __seamBijectionLogger8aSet = false; 348 349 /** 350 * Returns true if stereotype <<Logger>> is set. Specifies that a component field is to be 351 * injected with an instance of org.jboss.seam.log.Log. 352 * @return (boolean)handleIsSeamBijectionLogger() 353 */ 354 public final boolean isSeamBijectionLogger() 355 { 356 boolean seamBijectionLogger8a = this.__seamBijectionLogger8a; 357 if (!this.__seamBijectionLogger8aSet) 358 { 359 // seamBijectionLogger has no pre constraints 360 seamBijectionLogger8a = handleIsSeamBijectionLogger(); 361 // seamBijectionLogger has no post constraints 362 this.__seamBijectionLogger8a = seamBijectionLogger8a; 363 if (isMetafacadePropertyCachingEnabled()) 364 { 365 this.__seamBijectionLogger8aSet = true; 366 } 367 } 368 return seamBijectionLogger8a; 369 } 370 371 /** 372 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamBijectionRequestParameter() 373 * @return boolean 374 */ 375 protected abstract boolean handleIsSeamBijectionRequestParameter(); 376 377 private boolean __seamBijectionRequestParameter9a; 378 private boolean __seamBijectionRequestParameter9aSet = false; 379 380 /** 381 * Returns true if stereotype <<RequestParameter>> is set. Specifies that a component attribute 382 * is to be injected with the value of a request parameter. Basic type conversions are performed 383 * automatically. 384 * @return (boolean)handleIsSeamBijectionRequestParameter() 385 */ 386 public final boolean isSeamBijectionRequestParameter() 387 { 388 boolean seamBijectionRequestParameter9a = this.__seamBijectionRequestParameter9a; 389 if (!this.__seamBijectionRequestParameter9aSet) 390 { 391 // seamBijectionRequestParameter has no pre constraints 392 seamBijectionRequestParameter9a = handleIsSeamBijectionRequestParameter(); 393 // seamBijectionRequestParameter has no post constraints 394 this.__seamBijectionRequestParameter9a = seamBijectionRequestParameter9a; 395 if (isMetafacadePropertyCachingEnabled()) 396 { 397 this.__seamBijectionRequestParameter9aSet = true; 398 } 399 } 400 return seamBijectionRequestParameter9a; 401 } 402 403 /** 404 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamBijectionInParameters() 405 * @return String 406 */ 407 protected abstract String handleGetSeamBijectionInParameters(); 408 409 private String __seamBijectionInParameters10a; 410 private boolean __seamBijectionInParameters10aSet = false; 411 412 /** 413 * Returns a parameter string for org.jboss.seam.annotations.In annotation. Supported 414 * parameters: 415 * * value ? specifies the name of the context variable. Default to the name of the component 416 * attribute. Alternatively, specifies a JSF EL expression, surrounded by #{...}. 417 * * create ? specifies that Seam should instantiate the component with the same name as the 418 * context variable if the context variable is undefined (null) in all contexts. Default to 419 * false. 420 * * required ? specifies Seam should throw an exception if the context variable is undefined in 421 * all contexts. 422 * @return (String)handleGetSeamBijectionInParameters() 423 */ 424 public final String getSeamBijectionInParameters() 425 { 426 String seamBijectionInParameters10a = this.__seamBijectionInParameters10a; 427 if (!this.__seamBijectionInParameters10aSet) 428 { 429 // seamBijectionInParameters has no pre constraints 430 seamBijectionInParameters10a = handleGetSeamBijectionInParameters(); 431 // seamBijectionInParameters has no post constraints 432 this.__seamBijectionInParameters10a = seamBijectionInParameters10a; 433 if (isMetafacadePropertyCachingEnabled()) 434 { 435 this.__seamBijectionInParameters10aSet = true; 436 } 437 } 438 return seamBijectionInParameters10a; 439 } 440 441 /** 442 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamBijectionLoggerParameters() 443 * @return String 444 */ 445 protected abstract String handleGetSeamBijectionLoggerParameters(); 446 447 private String __seamBijectionLoggerParameters11a; 448 private boolean __seamBijectionLoggerParameters11aSet = false; 449 450 /** 451 * Returns a parameter string for org.jboss.seam.annotations.Logger annotation. Supported 452 * parameters: 453 * value ? specifies the name of the log category. Default to the name of the component class. 454 * @return (String)handleGetSeamBijectionLoggerParameters() 455 */ 456 public final String getSeamBijectionLoggerParameters() 457 { 458 String seamBijectionLoggerParameters11a = this.__seamBijectionLoggerParameters11a; 459 if (!this.__seamBijectionLoggerParameters11aSet) 460 { 461 // seamBijectionLoggerParameters has no pre constraints 462 seamBijectionLoggerParameters11a = handleGetSeamBijectionLoggerParameters(); 463 // seamBijectionLoggerParameters has no post constraints 464 this.__seamBijectionLoggerParameters11a = seamBijectionLoggerParameters11a; 465 if (isMetafacadePropertyCachingEnabled()) 466 { 467 this.__seamBijectionLoggerParameters11aSet = true; 468 } 469 } 470 return seamBijectionLoggerParameters11a; 471 } 472 473 /** 474 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamBijectionOutParameters() 475 * @return String 476 */ 477 protected abstract String handleGetSeamBijectionOutParameters(); 478 479 private String __seamBijectionOutParameters12a; 480 private boolean __seamBijectionOutParameters12aSet = false; 481 482 /** 483 * Returns a parameter string for org.jboss.seam.annotations.Out annotation. Supported 484 * parameters: 485 * * value ? specifies the name of the context variable. Default to the name of the component 486 * attribute. 487 * * required ? specifies Seam should throw an exception if the component attribute is null 488 * during outjection. 489 * * scope ? specifies the scope that Seam should bind the returned value to. 490 * @return (String)handleGetSeamBijectionOutParameters() 491 */ 492 public final String getSeamBijectionOutParameters() 493 { 494 String seamBijectionOutParameters12a = this.__seamBijectionOutParameters12a; 495 if (!this.__seamBijectionOutParameters12aSet) 496 { 497 // seamBijectionOutParameters has no pre constraints 498 seamBijectionOutParameters12a = handleGetSeamBijectionOutParameters(); 499 // seamBijectionOutParameters has no post constraints 500 this.__seamBijectionOutParameters12a = seamBijectionOutParameters12a; 501 if (isMetafacadePropertyCachingEnabled()) 502 { 503 this.__seamBijectionOutParameters12aSet = true; 504 } 505 } 506 return seamBijectionOutParameters12a; 507 } 508 509 /** 510 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamBijectionRequestParameterParameters() 511 * @return String 512 */ 513 protected abstract String handleGetSeamBijectionRequestParameterParameters(); 514 515 private String __seamBijectionRequestParameterParameters13a; 516 private boolean __seamBijectionRequestParameterParameters13aSet = false; 517 518 /** 519 * Returns a parameter string for org.jboss.seam.annotations.RequestParameter annotation. 520 * Supported parameters: 521 * * value ? specifies the name of the request parameter. Default to the name of the component 522 * attribute. 523 * @return (String)handleGetSeamBijectionRequestParameterParameters() 524 */ 525 public final String getSeamBijectionRequestParameterParameters() 526 { 527 String seamBijectionRequestParameterParameters13a = this.__seamBijectionRequestParameterParameters13a; 528 if (!this.__seamBijectionRequestParameterParameters13aSet) 529 { 530 // seamBijectionRequestParameterParameters has no pre constraints 531 seamBijectionRequestParameterParameters13a = handleGetSeamBijectionRequestParameterParameters(); 532 // seamBijectionRequestParameterParameters has no post constraints 533 this.__seamBijectionRequestParameterParameters13a = seamBijectionRequestParameterParameters13a; 534 if (isMetafacadePropertyCachingEnabled()) 535 { 536 this.__seamBijectionRequestParameterParameters13aSet = true; 537 } 538 } 539 return seamBijectionRequestParameterParameters13a; 540 } 541 542 /** 543 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamDataModelParameters() 544 * @return String 545 */ 546 protected abstract String handleGetSeamDataModelParameters(); 547 548 private String __seamDataModelParameters14a; 549 private boolean __seamDataModelParameters14aSet = false; 550 551 /** 552 * Returns a parameter string for org.jboss.seam.annotations.DataModel annotation. Supported 553 * parameters: 554 * * value ? name of the conversation context variable. Default to the attribute name. 555 * * scope ? if scope=ScopeType.PAGE is explicitly specified, the DataModel will be kept in the 556 * PAGE context. 557 * @return (String)handleGetSeamDataModelParameters() 558 */ 559 public final String getSeamDataModelParameters() 560 { 561 String seamDataModelParameters14a = this.__seamDataModelParameters14a; 562 if (!this.__seamDataModelParameters14aSet) 563 { 564 // seamDataModelParameters has no pre constraints 565 seamDataModelParameters14a = handleGetSeamDataModelParameters(); 566 // seamDataModelParameters has no post constraints 567 this.__seamDataModelParameters14a = seamDataModelParameters14a; 568 if (isMetafacadePropertyCachingEnabled()) 569 { 570 this.__seamDataModelParameters14aSet = true; 571 } 572 } 573 return seamDataModelParameters14a; 574 } 575 576 /** 577 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamDataModelSelectionParameters() 578 * @return String 579 */ 580 protected abstract String handleGetSeamDataModelSelectionParameters(); 581 582 private String __seamDataModelSelectionParameters15a; 583 private boolean __seamDataModelSelectionParameters15aSet = false; 584 585 /** 586 * Returns a parameter string for org.jboss.seam.annotations.DataModelSelection annotation. 587 * Supported parameters: 588 * * value ? name of the conversation context variable. Not needed if there is exactly one 589 * DataModel in the component. 590 * @return (String)handleGetSeamDataModelSelectionParameters() 591 */ 592 public final String getSeamDataModelSelectionParameters() 593 { 594 String seamDataModelSelectionParameters15a = this.__seamDataModelSelectionParameters15a; 595 if (!this.__seamDataModelSelectionParameters15aSet) 596 { 597 // seamDataModelSelectionParameters has no pre constraints 598 seamDataModelSelectionParameters15a = handleGetSeamDataModelSelectionParameters(); 599 // seamDataModelSelectionParameters has no post constraints 600 this.__seamDataModelSelectionParameters15a = seamDataModelSelectionParameters15a; 601 if (isMetafacadePropertyCachingEnabled()) 602 { 603 this.__seamDataModelSelectionParameters15aSet = true; 604 } 605 } 606 return seamDataModelSelectionParameters15a; 607 } 608 609 /** 610 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamDataModelSelectionIndexParameters() 611 * @return String 612 */ 613 protected abstract String handleGetSeamDataModelSelectionIndexParameters(); 614 615 private String __seamDataModelSelectionIndexParameters16a; 616 private boolean __seamDataModelSelectionIndexParameters16aSet = false; 617 618 /** 619 * Returns a parameter string for org.jboss.seam.annotations.DataModelSelection annotation. 620 * Supported parameters: 621 * * value ? name of the conversation context variable. Not needed if there is exactly one 622 * DataModel in the component. 623 * @return (String)handleGetSeamDataModelSelectionIndexParameters() 624 */ 625 public final String getSeamDataModelSelectionIndexParameters() 626 { 627 String seamDataModelSelectionIndexParameters16a = this.__seamDataModelSelectionIndexParameters16a; 628 if (!this.__seamDataModelSelectionIndexParameters16aSet) 629 { 630 // seamDataModelSelectionIndexParameters has no pre constraints 631 seamDataModelSelectionIndexParameters16a = handleGetSeamDataModelSelectionIndexParameters(); 632 // seamDataModelSelectionIndexParameters has no post constraints 633 this.__seamDataModelSelectionIndexParameters16a = seamDataModelSelectionIndexParameters16a; 634 if (isMetafacadePropertyCachingEnabled()) 635 { 636 this.__seamDataModelSelectionIndexParameters16aSet = true; 637 } 638 } 639 return seamDataModelSelectionIndexParameters16a; 640 } 641 642 /** 643 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamAttribute() 644 * @return boolean 645 */ 646 protected abstract boolean handleIsSeamAttribute(); 647 648 private boolean __seamAttribute17a; 649 private boolean __seamAttribute17aSet = false; 650 651 /** 652 * Returns true if this attribute is a seam component attribute, marked with one or more of the 653 * following annotations In, Out, Log, RequestParameter, DataModel, DatamodeSelection 654 * @return (boolean)handleIsSeamAttribute() 655 */ 656 public final boolean isSeamAttribute() 657 { 658 boolean seamAttribute17a = this.__seamAttribute17a; 659 if (!this.__seamAttribute17aSet) 660 { 661 // seamAttribute has no pre constraints 662 seamAttribute17a = handleIsSeamAttribute(); 663 // seamAttribute has no post constraints 664 this.__seamAttribute17a = seamAttribute17a; 665 if (isMetafacadePropertyCachingEnabled()) 666 { 667 this.__seamAttribute17aSet = true; 668 } 669 } 670 return seamAttribute17a; 671 } 672 673 /** 674 * @return true 675 * @see AttributeFacade 676 */ 677 public boolean isAttributeFacadeMetaType() 678 { 679 return true; 680 } 681 682 /** 683 * @return true 684 * @see ModelElementFacade 685 */ 686 public boolean isModelElementFacadeMetaType() 687 { 688 return true; 689 } 690 691 // ----------- delegates to AttributeFacade ------------ 692 /** 693 * Searches the given feature for the specified tag. 694 * If the follow boolean is set to true then the search will continue from the class attribute 695 * to the class itself and then up the class hierarchy. 696 * @see AttributeFacade#findTaggedValue(String name, boolean follow) 697 */ 698 public Object findTaggedValue(String name, boolean follow) 699 { 700 return this.getSuperAttributeFacade().findTaggedValue(name, follow); 701 } 702 703 /** 704 * The default value of the attribute. This is the value given if no value is defined. 705 * @see AttributeFacade#getDefaultValue() 706 */ 707 public String getDefaultValue() 708 { 709 return this.getSuperAttributeFacade().getDefaultValue(); 710 } 711 712 /** 713 * If the attribute is an enumeration literal this represents the owning enumeration. Can be 714 * empty. 715 * @see AttributeFacade#getEnumeration() 716 */ 717 public EnumerationFacade getEnumeration() 718 { 719 return this.getSuperAttributeFacade().getEnumeration(); 720 } 721 722 /** 723 * Returns the enumeration literal parameters defined by tagged value as a comma separated list. 724 * @see AttributeFacade#getEnumerationLiteralParameters() 725 */ 726 public String getEnumerationLiteralParameters() 727 { 728 return this.getSuperAttributeFacade().getEnumerationLiteralParameters(); 729 } 730 731 /** 732 * The value for this attribute if it is an enumeration literal, null otherwise. The default 733 * value is returned as a String if it has been specified, if it's not specified this 734 * attribute's name is assumed. 735 * @see AttributeFacade#getEnumerationValue() 736 */ 737 public String getEnumerationValue() 738 { 739 return this.getSuperAttributeFacade().getEnumerationValue(); 740 } 741 742 /** 743 * The name of the accessor operation that would retrieve this attribute's value. 744 * @see AttributeFacade#getGetterName() 745 */ 746 public String getGetterName() 747 { 748 return this.getSuperAttributeFacade().getGetterName(); 749 } 750 751 /** 752 * The name of the type that is returned on the accessor and mutator operations, determined in 753 * part by the multiplicity. 754 * @see AttributeFacade#getGetterSetterTypeName() 755 */ 756 public String getGetterSetterTypeName() 757 { 758 return this.getSuperAttributeFacade().getGetterSetterTypeName(); 759 } 760 761 /** 762 * the lower value for the multiplicity 763 * -only applicable for UML2 764 * @see AttributeFacade#getLower() 765 */ 766 public int getLower() 767 { 768 return this.getSuperAttributeFacade().getLower(); 769 } 770 771 /** 772 * Gets the classifier who is the owner of the attributes. 773 * @see AttributeFacade#getOwner() 774 */ 775 public ClassifierFacade getOwner() 776 { 777 return this.getSuperAttributeFacade().getOwner(); 778 } 779 780 /** 781 * The name of the mutator operation that would retrieve this attribute's value. 782 * @see AttributeFacade#getSetterName() 783 */ 784 public String getSetterName() 785 { 786 return this.getSuperAttributeFacade().getSetterName(); 787 } 788 789 /** 790 * The classifier owning this attribute. 791 * @see AttributeFacade#getType() 792 */ 793 public ClassifierFacade getType() 794 { 795 return this.getSuperAttributeFacade().getType(); 796 } 797 798 /** 799 * the upper value for the multiplicity (will be -1 for *) 800 * -only applicable for UML2 801 * @see AttributeFacade#getUpper() 802 */ 803 public int getUpper() 804 { 805 return this.getSuperAttributeFacade().getUpper(); 806 } 807 808 /** 809 * True if this attribute can only be set. 810 * @see AttributeFacade#isAddOnly() 811 */ 812 public boolean isAddOnly() 813 { 814 return this.getSuperAttributeFacade().isAddOnly(); 815 } 816 817 /** 818 * True if this attribute can be modified. 819 * @see AttributeFacade#isChangeable() 820 */ 821 public boolean isChangeable() 822 { 823 return this.getSuperAttributeFacade().isChangeable(); 824 } 825 826 /** 827 * Indicates if the default value is present. 828 * @see AttributeFacade#isDefaultValuePresent() 829 */ 830 public boolean isDefaultValuePresent() 831 { 832 return this.getSuperAttributeFacade().isDefaultValuePresent(); 833 } 834 835 /** 836 * If the attribute is derived (its value is computed). UML2 only. UML14 always returns false. 837 * Default=false. 838 * @see AttributeFacade#isDerived() 839 */ 840 public boolean isDerived() 841 { 842 return this.getSuperAttributeFacade().isDerived(); 843 } 844 845 /** 846 * True if this attribute is owned by an enumeration. 847 * @see AttributeFacade#isEnumerationLiteral() 848 */ 849 public boolean isEnumerationLiteral() 850 { 851 return this.getSuperAttributeFacade().isEnumerationLiteral(); 852 } 853 854 /** 855 * Returns true if enumeration literal parameters exist (defined by tagged value) for the 856 * literal. 857 * @see AttributeFacade#isEnumerationLiteralParametersExist() 858 */ 859 public boolean isEnumerationLiteralParametersExist() 860 { 861 return this.getSuperAttributeFacade().isEnumerationLiteralParametersExist(); 862 } 863 864 /** 865 * True if this attribute is owned by an enumeration but is defined as a member variable (NOT a 866 * literal). 867 * @see AttributeFacade#isEnumerationMember() 868 */ 869 public boolean isEnumerationMember() 870 { 871 return this.getSuperAttributeFacade().isEnumerationMember(); 872 } 873 874 /** 875 * IsLeaf property in the operation. If true, operation is final, cannot be extended or 876 * implemented by a descendant. 877 * @see AttributeFacade#isLeaf() 878 */ 879 public boolean isLeaf() 880 { 881 return this.getSuperAttributeFacade().isLeaf(); 882 } 883 884 /** 885 * Whether or not this attribute has a multiplicity greater than 1. 886 * @see AttributeFacade#isMany() 887 */ 888 public boolean isMany() 889 { 890 return this.getSuperAttributeFacade().isMany(); 891 } 892 893 /** 894 * Indicates whether or not the attributes are ordered (if multiplicity is greater than 1). 895 * @see AttributeFacade#isOrdered() 896 */ 897 public boolean isOrdered() 898 { 899 return this.getSuperAttributeFacade().isOrdered(); 900 } 901 902 /** 903 * Whether or not this attribute can be modified. 904 * @see AttributeFacade#isReadOnly() 905 */ 906 public boolean isReadOnly() 907 { 908 return this.getSuperAttributeFacade().isReadOnly(); 909 } 910 911 /** 912 * Whether or not the multiplicity of this attribute is 1. 913 * @see AttributeFacade#isRequired() 914 */ 915 public boolean isRequired() 916 { 917 return this.getSuperAttributeFacade().isRequired(); 918 } 919 920 /** 921 * Indicates if this attribute is 'static', meaning it has a classifier scope. 922 * @see AttributeFacade#isStatic() 923 */ 924 public boolean isStatic() 925 { 926 return this.getSuperAttributeFacade().isStatic(); 927 } 928 929 /** 930 * If the attribute is unique within the Collection type. UML2 only. UML14 always returns false. 931 * Unique+Ordered determines the implementation Collection type. Default=false. 932 * @see AttributeFacade#isUnique() 933 */ 934 public boolean isUnique() 935 { 936 return this.getSuperAttributeFacade().isUnique(); 937 } 938 939 /** 940 * Copies all tagged values from the given ModelElementFacade to this model element facade. 941 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element) 942 */ 943 public void copyTaggedValues(ModelElementFacade element) 944 { 945 this.getSuperAttributeFacade().copyTaggedValues(element); 946 } 947 948 /** 949 * Finds the tagged value with the specified 'tagName'. In case there are more values the first 950 * one found will be returned. 951 * @see ModelElementFacade#findTaggedValue(String tagName) 952 */ 953 public Object findTaggedValue(String tagName) 954 { 955 return this.getSuperAttributeFacade().findTaggedValue(tagName); 956 } 957 958 /** 959 * Returns all the values for the tagged value with the specified name. The returned collection 960 * will contains only String instances, or will be empty. Never null. 961 * @see ModelElementFacade#findTaggedValues(String tagName) 962 */ 963 public Collection<Object> findTaggedValues(String tagName) 964 { 965 return this.getSuperAttributeFacade().findTaggedValues(tagName); 966 } 967 968 /** 969 * Returns the fully qualified name of the model element. The fully qualified name includes 970 * complete package qualified name of the underlying model element. The templates parameter will 971 * be replaced by the correct one given the binding relation of the parameter to this element. 972 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement) 973 */ 974 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement) 975 { 976 return this.getSuperAttributeFacade().getBindedFullyQualifiedName(bindedElement); 977 } 978 979 /** 980 * Gets all constraints belonging to the model element. 981 * @see ModelElementFacade#getConstraints() 982 */ 983 public Collection<ConstraintFacade> getConstraints() 984 { 985 return this.getSuperAttributeFacade().getConstraints(); 986 } 987 988 /** 989 * Returns the constraints of the argument kind that have been placed onto this model. Typical 990 * kinds are "inv", "pre" and "post". Other kinds are possible. 991 * @see ModelElementFacade#getConstraints(String kind) 992 */ 993 public Collection<ConstraintFacade> getConstraints(String kind) 994 { 995 return this.getSuperAttributeFacade().getConstraints(kind); 996 } 997 998 /** 999 * Gets the documentation for the model element, The indent argument is prefixed to each line. 1000 * By default this method wraps lines after 64 characters. 1001 * This method is equivalent to <code>getDocumentation(indent, 64)</code>. 1002 * @see ModelElementFacade#getDocumentation(String indent) 1003 */ 1004 public String getDocumentation(String indent) 1005 { 1006 return this.getSuperAttributeFacade().getDocumentation(indent); 1007 } 1008 1009 /** 1010 * This method returns the documentation for this model element, with the lines wrapped after 1011 * the specified number of characters, values of less than 1 will indicate no line wrapping is 1012 * required. By default paragraphs are returned as HTML. 1013 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>. 1014 * @see ModelElementFacade#getDocumentation(String indent, int lineLength) 1015 */ 1016 public String getDocumentation(String indent, int lineLength) 1017 { 1018 return this.getSuperAttributeFacade().getDocumentation(indent, lineLength); 1019 } 1020 1021 /** 1022 * This method returns the documentation for this model element, with the lines wrapped after 1023 * the specified number of characters, values of less than 1 will indicate no line wrapping is 1024 * required. HTML style determines if HTML Escaping is applied. 1025 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle) 1026 */ 1027 public String getDocumentation(String indent, int lineLength, boolean htmlStyle) 1028 { 1029 return this.getSuperAttributeFacade().getDocumentation(indent, lineLength, htmlStyle); 1030 } 1031 1032 /** 1033 * The fully qualified name of this model element. 1034 * @see ModelElementFacade#getFullyQualifiedName() 1035 */ 1036 public String getFullyQualifiedName() 1037 { 1038 return this.getSuperAttributeFacade().getFullyQualifiedName(); 1039 } 1040 1041 /** 1042 * Returns the fully qualified name of the model element. The fully qualified name includes 1043 * complete package qualified name of the underlying model element. If modelName is true, then 1044 * the original name of the model element (the name contained within the model) will be the name 1045 * returned, otherwise a name from a language mapping will be returned. 1046 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName) 1047 */ 1048 public String getFullyQualifiedName(boolean modelName) 1049 { 1050 return this.getSuperAttributeFacade().getFullyQualifiedName(modelName); 1051 } 1052 1053 /** 1054 * Returns the fully qualified name as a path, the returned value always starts with out a slash 1055 * '/'. 1056 * @see ModelElementFacade#getFullyQualifiedNamePath() 1057 */ 1058 public String getFullyQualifiedNamePath() 1059 { 1060 return this.getSuperAttributeFacade().getFullyQualifiedNamePath(); 1061 } 1062 1063 /** 1064 * Gets the unique identifier of the underlying model element. 1065 * @see ModelElementFacade#getId() 1066 */ 1067 public String getId() 1068 { 1069 return this.getSuperAttributeFacade().getId(); 1070 } 1071 1072 /** 1073 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which 1074 * are not represented by other properties, i.e. native, transient, volatile, synchronized, 1075 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings: 1076 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require 1077 * JDK5 compiler level. 1078 * @see ModelElementFacade#getKeywords() 1079 */ 1080 public Collection<String> getKeywords() 1081 { 1082 return this.getSuperAttributeFacade().getKeywords(); 1083 } 1084 1085 /** 1086 * UML2: Retrieves a localized label for this named element. 1087 * @see ModelElementFacade#getLabel() 1088 */ 1089 public String getLabel() 1090 { 1091 return this.getSuperAttributeFacade().getLabel(); 1092 } 1093 1094 /** 1095 * The language mappings that have been set for this model element. 1096 * @see ModelElementFacade#getLanguageMappings() 1097 */ 1098 public TypeMappings getLanguageMappings() 1099 { 1100 return this.getSuperAttributeFacade().getLanguageMappings(); 1101 } 1102 1103 /** 1104 * Return the model containing this model element (multiple models may be loaded and processed 1105 * at the same time). 1106 * @see ModelElementFacade#getModel() 1107 */ 1108 public ModelFacade getModel() 1109 { 1110 return this.getSuperAttributeFacade().getModel(); 1111 } 1112 1113 /** 1114 * The name of the model element. 1115 * @see ModelElementFacade#getName() 1116 */ 1117 public String getName() 1118 { 1119 return this.getSuperAttributeFacade().getName(); 1120 } 1121 1122 /** 1123 * Gets the package to which this model element belongs. 1124 * @see ModelElementFacade#getPackage() 1125 */ 1126 public ModelElementFacade getPackage() 1127 { 1128 return this.getSuperAttributeFacade().getPackage(); 1129 } 1130 1131 /** 1132 * The name of this model element's package. 1133 * @see ModelElementFacade#getPackageName() 1134 */ 1135 public String getPackageName() 1136 { 1137 return this.getSuperAttributeFacade().getPackageName(); 1138 } 1139 1140 /** 1141 * Gets the package name (optionally providing the ability to retrieve the model name and not 1142 * the mapped name). 1143 * @see ModelElementFacade#getPackageName(boolean modelName) 1144 */ 1145 public String getPackageName(boolean modelName) 1146 { 1147 return this.getSuperAttributeFacade().getPackageName(modelName); 1148 } 1149 1150 /** 1151 * Returns the package as a path, the returned value always starts with out a slash '/'. 1152 * @see ModelElementFacade#getPackagePath() 1153 */ 1154 public String getPackagePath() 1155 { 1156 return this.getSuperAttributeFacade().getPackagePath(); 1157 } 1158 1159 /** 1160 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the 1161 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from 1162 * the names of the containing namespaces starting at the root of the hierarchy and ending with 1163 * the name of the NamedElement itself. 1164 * @see ModelElementFacade#getQualifiedName() 1165 */ 1166 public String getQualifiedName() 1167 { 1168 return this.getSuperAttributeFacade().getQualifiedName(); 1169 } 1170 1171 /** 1172 * Gets the root package for the model element. 1173 * @see ModelElementFacade#getRootPackage() 1174 */ 1175 public PackageFacade getRootPackage() 1176 { 1177 return this.getSuperAttributeFacade().getRootPackage(); 1178 } 1179 1180 /** 1181 * Gets the dependencies for which this model element is the source. 1182 * @see ModelElementFacade#getSourceDependencies() 1183 */ 1184 public Collection<DependencyFacade> getSourceDependencies() 1185 { 1186 return this.getSuperAttributeFacade().getSourceDependencies(); 1187 } 1188 1189 /** 1190 * If this model element is the context of an activity graph, this represents that activity 1191 * graph. 1192 * @see ModelElementFacade#getStateMachineContext() 1193 */ 1194 public StateMachineFacade getStateMachineContext() 1195 { 1196 return this.getSuperAttributeFacade().getStateMachineContext(); 1197 } 1198 1199 /** 1200 * The collection of ALL stereotype names for this model element. 1201 * @see ModelElementFacade#getStereotypeNames() 1202 */ 1203 public Collection<String> getStereotypeNames() 1204 { 1205 return this.getSuperAttributeFacade().getStereotypeNames(); 1206 } 1207 1208 /** 1209 * Gets all stereotypes for this model element. 1210 * @see ModelElementFacade#getStereotypes() 1211 */ 1212 public Collection<StereotypeFacade> getStereotypes() 1213 { 1214 return this.getSuperAttributeFacade().getStereotypes(); 1215 } 1216 1217 /** 1218 * Return the TaggedValues associated with this model element, under all stereotypes. 1219 * @see ModelElementFacade#getTaggedValues() 1220 */ 1221 public Collection<TaggedValueFacade> getTaggedValues() 1222 { 1223 return this.getSuperAttributeFacade().getTaggedValues(); 1224 } 1225 1226 /** 1227 * Gets the dependencies for which this model element is the target. 1228 * @see ModelElementFacade#getTargetDependencies() 1229 */ 1230 public Collection<DependencyFacade> getTargetDependencies() 1231 { 1232 return this.getSuperAttributeFacade().getTargetDependencies(); 1233 } 1234 1235 /** 1236 * Get the template parameter for this model element having the parameterName 1237 * @see ModelElementFacade#getTemplateParameter(String parameterName) 1238 */ 1239 public Object getTemplateParameter(String parameterName) 1240 { 1241 return this.getSuperAttributeFacade().getTemplateParameter(parameterName); 1242 } 1243 1244 /** 1245 * Get the template parameters for this model element 1246 * @see ModelElementFacade#getTemplateParameters() 1247 */ 1248 public Collection<TemplateParameterFacade> getTemplateParameters() 1249 { 1250 return this.getSuperAttributeFacade().getTemplateParameters(); 1251 } 1252 1253 /** 1254 * The visibility (i.e. public, private, protected or package) of the model element, will 1255 * attempt a lookup for these values in the language mappings (if any). 1256 * @see ModelElementFacade#getVisibility() 1257 */ 1258 public String getVisibility() 1259 { 1260 return this.getSuperAttributeFacade().getVisibility(); 1261 } 1262 1263 /** 1264 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance 1265 * is taken into account when searching for the stereotype), false otherwise. 1266 * @see ModelElementFacade#hasExactStereotype(String stereotypeName) 1267 */ 1268 public boolean hasExactStereotype(String stereotypeName) 1269 { 1270 return this.getSuperAttributeFacade().hasExactStereotype(stereotypeName); 1271 } 1272 1273 /** 1274 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma, 1275 * pipe, semicolon, or << >> 1276 * @see ModelElementFacade#hasKeyword(String keywordName) 1277 */ 1278 public boolean hasKeyword(String keywordName) 1279 { 1280 return this.getSuperAttributeFacade().hasKeyword(keywordName); 1281 } 1282 1283 /** 1284 * Returns true if the model element has the specified stereotype. If the stereotype itself 1285 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if 1286 * one of the stereotype's ancestors has a matching name this method will return true, false 1287 * otherwise. 1288 * For example, if we have a certain stereotype called <<exception>> and a model element has a 1289 * stereotype called <<applicationException>> which extends <<exception>>, when calling this 1290 * method with 'stereotypeName' defined as 'exception' the method would return true since 1291 * <<applicationException>> inherits from <<exception>>. If you want to check if the model 1292 * element has the exact stereotype, then use the method 'hasExactStereotype' instead. 1293 * @see ModelElementFacade#hasStereotype(String stereotypeName) 1294 */ 1295 public boolean hasStereotype(String stereotypeName) 1296 { 1297 return this.getSuperAttributeFacade().hasStereotype(stereotypeName); 1298 } 1299 1300 /** 1301 * True if there are target dependencies from this element that are instances of BindingFacade. 1302 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies. 1303 * @see ModelElementFacade#isBindingDependenciesPresent() 1304 */ 1305 public boolean isBindingDependenciesPresent() 1306 { 1307 return this.getSuperAttributeFacade().isBindingDependenciesPresent(); 1308 } 1309 1310 /** 1311 * Indicates if any constraints are present on this model element. 1312 * @see ModelElementFacade#isConstraintsPresent() 1313 */ 1314 public boolean isConstraintsPresent() 1315 { 1316 return this.getSuperAttributeFacade().isConstraintsPresent(); 1317 } 1318 1319 /** 1320 * Indicates if any documentation is present on this model element. 1321 * @see ModelElementFacade#isDocumentationPresent() 1322 */ 1323 public boolean isDocumentationPresent() 1324 { 1325 return this.getSuperAttributeFacade().isDocumentationPresent(); 1326 } 1327 1328 /** 1329 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript. 1330 * @see ModelElementFacade#isReservedWord() 1331 */ 1332 public boolean isReservedWord() 1333 { 1334 return this.getSuperAttributeFacade().isReservedWord(); 1335 } 1336 1337 /** 1338 * True is there are template parameters on this model element. For UML2, applies to Class, 1339 * Operation, Property, and Parameter. 1340 * @see ModelElementFacade#isTemplateParametersPresent() 1341 */ 1342 public boolean isTemplateParametersPresent() 1343 { 1344 return this.getSuperAttributeFacade().isTemplateParametersPresent(); 1345 } 1346 1347 /** 1348 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++, 1349 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on 1350 * Enumerations and Interfaces, optionally applies on other model elements. 1351 * @see ModelElementFacade#isValidIdentifierName() 1352 */ 1353 public boolean isValidIdentifierName() 1354 { 1355 return this.getSuperAttributeFacade().isValidIdentifierName(); 1356 } 1357 1358 /** 1359 * Searches for the constraint with the specified 'name' on this model element, and if found 1360 * translates it using the specified 'translation' from a translation library discovered by the 1361 * framework. 1362 * @see ModelElementFacade#translateConstraint(String name, String translation) 1363 */ 1364 public String translateConstraint(String name, String translation) 1365 { 1366 return this.getSuperAttributeFacade().translateConstraint(name, translation); 1367 } 1368 1369 /** 1370 * Translates all constraints belonging to this model element with the given 'translation'. 1371 * @see ModelElementFacade#translateConstraints(String translation) 1372 */ 1373 public String[] translateConstraints(String translation) 1374 { 1375 return this.getSuperAttributeFacade().translateConstraints(translation); 1376 } 1377 1378 /** 1379 * Translates the constraints of the specified 'kind' belonging to this model element. 1380 * @see ModelElementFacade#translateConstraints(String kind, String translation) 1381 */ 1382 public String[] translateConstraints(String kind, String translation) 1383 { 1384 return this.getSuperAttributeFacade().translateConstraints(kind, translation); 1385 } 1386 1387 /** 1388 * @see org.andromda.core.metafacade.MetafacadeBase#initialize() 1389 */ 1390 @Override 1391 public void initialize() 1392 { 1393 this.getSuperAttributeFacade().initialize(); 1394 } 1395 1396 /** 1397 * @return Object getSuperAttributeFacade().getValidationOwner() 1398 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner() 1399 */ 1400 @Override 1401 public Object getValidationOwner() 1402 { 1403 Object owner = this.getSuperAttributeFacade().getValidationOwner(); 1404 return owner; 1405 } 1406 1407 /** 1408 * @return String getSuperAttributeFacade().getValidationName() 1409 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName() 1410 */ 1411 @Override 1412 public String getValidationName() 1413 { 1414 String name = this.getSuperAttributeFacade().getValidationName(); 1415 return name; 1416 } 1417 1418 /** 1419 * @param validationMessages Collection<ModelValidationMessage> 1420 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages) 1421 */ 1422 @Override 1423 public void validateInvariants(Collection<ModelValidationMessage> validationMessages) 1424 { 1425 this.getSuperAttributeFacade().validateInvariants(validationMessages); 1426 } 1427 1428 /** 1429 * The property that stores the name of the metafacade. 1430 */ 1431 private static final String NAME_PROPERTY = "name"; 1432 private static final String FQNAME_PROPERTY = "fullyQualifiedName"; 1433 1434 /** 1435 * @see Object#toString() 1436 */ 1437 @Override 1438 public String toString() 1439 { 1440 final StringBuilder toString = new StringBuilder(this.getClass().getName()); 1441 toString.append("["); 1442 try 1443 { 1444 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY)); 1445 } 1446 catch (final Throwable tryAgain) 1447 { 1448 try 1449 { 1450 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY)); 1451 } 1452 catch (final Throwable ignore) 1453 { 1454 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property 1455 } 1456 } 1457 toString.append("]"); 1458 return toString.toString(); 1459 } 1460}