1
2
3
4
5 package org.andromda.metafacades.uml14;
6
7 import java.util.Collection;
8 import org.andromda.core.metafacade.MetafacadeBase;
9 import org.andromda.core.metafacade.ModelValidationMessage;
10 import org.andromda.metafacades.uml.ActionFacade;
11 import org.andromda.metafacades.uml.ActionStateFacade;
12 import org.apache.log4j.Logger;
13 import org.omg.uml.behavioralelements.activitygraphs.ActionState;
14
15
16
17
18
19
20
21
22
23
24
25 public abstract class ActionStateFacadeLogic
26 extends StateFacadeLogicImpl
27 implements ActionStateFacade
28 {
29
30
31
32
33 protected ActionState metaObject;
34
35
36
37
38
39 protected ActionStateFacadeLogic(ActionState metaObjectIn, String context)
40 {
41 super(metaObjectIn, getContext(context));
42 this.metaObject = metaObjectIn;
43 }
44
45
46
47
48 private static final Logger logger = Logger.getLogger(ActionStateFacadeLogic.class);
49
50
51
52
53
54
55 private static String getContext(String context)
56 {
57 if (context == null)
58 {
59 context = "org.andromda.metafacades.uml.ActionStateFacade";
60 }
61 return context;
62 }
63
64
65
66
67 @Override
68 public void resetMetafacadeContext(String context)
69 {
70 if (!this.contextRoot)
71 {
72 context = getContext(context);
73 setMetafacadeContext (context);
74 }
75 }
76
77
78
79
80
81 public boolean isActionStateFacadeMetaType()
82 {
83 return true;
84 }
85
86
87
88 private ActionFacade __getEntry1r;
89 private boolean __getEntry1rSet = false;
90
91
92
93
94
95 public final ActionFacade getEntry()
96 {
97 ActionFacade getEntry1r = this.__getEntry1r;
98 if (!this.__getEntry1rSet)
99 {
100
101 Object result = handleGetEntry();
102 MetafacadeBase shieldedResult = this.shieldedElement(result);
103 try
104 {
105 getEntry1r = (ActionFacade)shieldedResult;
106 }
107 catch (ClassCastException ex)
108 {
109
110 ActionStateFacadeLogic.logger.warn("incorrect metafacade cast for ActionStateFacadeLogic.getEntry ActionFacade " + result + ": " + shieldedResult);
111 }
112
113 this.__getEntry1r = getEntry1r;
114 if (isMetafacadePropertyCachingEnabled())
115 {
116 this.__getEntry1rSet = true;
117 }
118 }
119 return getEntry1r;
120 }
121
122
123
124
125
126 protected abstract Object handleGetEntry();
127
128
129
130
131
132 @Override
133 public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
134 {
135 super.validateInvariants(validationMessages);
136 }
137 }