001// license-header java merge-point 002// 003// Attention: generated code (by MetafacadeLogic.vsl) - do not modify! 004// 005package org.andromda.metafacades.uml14; 006 007import java.util.Collection; 008import org.andromda.core.metafacade.ModelValidationMessage; 009import org.andromda.metafacades.uml.ManageableEntityAttribute; 010 011/** 012 * TODO: Model Documentation for ManageableEntityAttribute 013 * MetafacadeLogic for ManageableEntityAttribute 014 * 015 * @see ManageableEntityAttribute 016 */ 017public abstract class ManageableEntityAttributeLogic 018 extends EntityAttributeLogicImpl 019 implements ManageableEntityAttribute 020{ 021 /** 022 * The underlying UML object 023 * @see Object 024 */ 025 protected Object metaObject; 026 027 /** Create Metafacade implementation instance using the MetafacadeFactory from the context 028 * @param metaObjectIn 029 * @param context 030 */ 031 protected ManageableEntityAttributeLogic(Object metaObjectIn, String context) 032 { 033 super(metaObjectIn, getContext(context)); 034 this.metaObject = metaObjectIn; 035 } 036 037 /** 038 * Gets the context for this metafacade logic instance. 039 * @param context String. Set to ManageableEntityAttribute if null 040 * @return context String 041 */ 042 private static String getContext(String context) 043 { 044 if (context == null) 045 { 046 context = "org.andromda.metafacades.uml.ManageableEntityAttribute"; 047 } 048 return context; 049 } 050 051 /** Reset context only for non-root metafacades 052 * @param context 053 */ 054 @Override 055 public void resetMetafacadeContext(String context) 056 { 057 if (!this.contextRoot) // reset context only for non-root metafacades 058 { 059 context = getContext(context); // to have same value as in original constructor call 060 setMetafacadeContext (context); 061 } 062 } 063 064 /** 065 * @return boolean true always 066 * @see ManageableEntityAttribute 067 */ 068 public boolean isManageableEntityAttributeMetaType() 069 { 070 return true; 071 } 072 073 // --------------- attributes --------------------- 074 075 /** 076 * @see ManageableEntityAttribute#isDisplay() 077 * @return boolean 078 */ 079 protected abstract boolean handleIsDisplay(); 080 081 private boolean __display1a; 082 private boolean __display1aSet = false; 083 084 /** 085 * Whether or not this attribute should be displayed. 086 * @return (boolean)handleIsDisplay() 087 */ 088 public final boolean isDisplay() 089 { 090 boolean display1a = this.__display1a; 091 if (!this.__display1aSet) 092 { 093 // display has no pre constraints 094 display1a = handleIsDisplay(); 095 // display has no post constraints 096 this.__display1a = display1a; 097 if (isMetafacadePropertyCachingEnabled()) 098 { 099 this.__display1aSet = true; 100 } 101 } 102 return display1a; 103 } 104 105 /** 106 * @see ManageableEntityAttribute#isManageableGetterAvailable() 107 * @return boolean 108 */ 109 protected abstract boolean handleIsManageableGetterAvailable(); 110 111 private boolean __manageableGetterAvailable2a; 112 private boolean __manageableGetterAvailable2aSet = false; 113 114 /** 115 * Whether or not this attribute can be read in a call isolated from the rest (for example when 116 * downloading binary fields). 117 * @return (boolean)handleIsManageableGetterAvailable() 118 */ 119 public final boolean isManageableGetterAvailable() 120 { 121 boolean manageableGetterAvailable2a = this.__manageableGetterAvailable2a; 122 if (!this.__manageableGetterAvailable2aSet) 123 { 124 // manageableGetterAvailable has no pre constraints 125 manageableGetterAvailable2a = handleIsManageableGetterAvailable(); 126 // manageableGetterAvailable has no post constraints 127 this.__manageableGetterAvailable2a = manageableGetterAvailable2a; 128 if (isMetafacadePropertyCachingEnabled()) 129 { 130 this.__manageableGetterAvailable2aSet = true; 131 } 132 } 133 return manageableGetterAvailable2a; 134 } 135 136 // ------------- associations ------------------ 137 138 /** 139 * @param validationMessages Collection<ModelValidationMessage> 140 * @see EntityAttributeLogicImpl#validateInvariants(Collection validationMessages) 141 */ 142 @Override 143 public void validateInvariants(Collection<ModelValidationMessage> validationMessages) 144 { 145 super.validateInvariants(validationMessages); 146 } 147}