Skip to content

Commit 0d9a0bb

Browse files
committed
use constant for E_OBJECT_CLASS
1 parent bd6a5b8 commit 0d9a0bb

1 file changed

Lines changed: 3 additions & 8 deletions

File tree

bundles/tools.mdsd.ecoreworkflow.switches/src/tools/mdsd/ecoreworkflow/switches/HashDynamicSwitch.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,8 @@ public class HashDynamicSwitch<T> implements DynamicSwitch<T> {
3636
private Map<EClass, Function<EObject, T>> caseDefinitions = new LinkedHashMap<>();
3737
private ConcurrentMap<EClass, Function<EObject, T>[]> cachedInvokationSequences = new ConcurrentHashMap<>();
3838
private Function<EObject, T> defaultCase;
39-
private static EClass eObjectClass;
39+
private static final EClass E_OBJECT_CLASS = EcorePackage.Literals.EOBJECT;
4040

41-
public HashDynamicSwitch() {
42-
if (eObjectClass == null) {
43-
eObjectClass = EcorePackage.eINSTANCE.getEObject();
44-
}
45-
}
4641

4742
@Override
4843
public DynamicSwitch<T> dynamicCase(EClass clazz, Function<EObject, T> then) {
@@ -95,8 +90,8 @@ private Function<EObject, T>[] calculateInvocationSequence(EClass eClass) {
9590
);
9691

9792
// EObject::isSuperTypeOf never returns 'EObject', but the user might have supplied it as a type
98-
if (caseDefinitions.containsKey(eObjectClass)) {
99-
invocations.add(caseDefinitions.get(eObjectClass));
93+
if (caseDefinitions.containsKey(E_OBJECT_CLASS)) {
94+
invocations.add(caseDefinitions.get(E_OBJECT_CLASS));
10095
}
10196

10297
return invocations.toArray(new Function[0]);

0 commit comments

Comments
 (0)