/* * Initial version copyright 2008 Lockheed Martin Corporation, except * as stated in the file entitled Licensing-Information. * * All modifications copyright 2009-2017 Data Access Technologies, Inc. * * Licensed under the Academic Free License version 3.0 * (http://www.opensource.org/licenses/afl-3.0.php), except as stated * in the file entitled Licensing-Information. */ package fUML.Semantics.Loci.LociL1; import fUML.Syntax.Classes.Kernel.*; import fUML.Semantics.Classes.Kernel.*; import fUML.Semantics.CommonBehaviors.Communications.CallEventBehavior; import fUML.Semantics.CommonBehaviors.Communications.CallEventExecution; public class ExecutionFactoryL1 extends fUML.Semantics.Loci.LociL1.ExecutionFactory { public fUML.Semantics.Loci.LociL1.SemanticVisitor instantiateVisitor( fUML.Syntax.Classes.Kernel.Element element) { // Instantiate a visitor object for the given element (at Conformance // Level 1) SemanticVisitor visitor = null; if (element instanceof LiteralBoolean) { visitor = new LiteralBooleanEvaluation(); } else if (element instanceof LiteralString) { visitor = new LiteralStringEvaluation(); } else if (element instanceof LiteralNull) { visitor = new LiteralNullEvaluation(); } else if (element instanceof InstanceValue) { visitor = new InstanceValueEvaluation(); } else if (element instanceof LiteralUnlimitedNatural) { visitor = new LiteralUnlimitedNaturalEvaluation(); } else if (element instanceof LiteralInteger) { visitor = new LiteralIntegerEvaluation(); } else if (element instanceof LiteralReal) { visitor = new LiteralRealEvaluation(); } else if (element instanceof CallEventBehavior) { visitor = new CallEventExecution(); } return visitor; } // instantiateVisitor } // ExecutionFactoryL1