/** */ package rba.core.impl; import java.lang.reflect.InvocationTargetException; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import rba.core.ArithmeticOperator; import rba.core.ExpressionType; import rba.core.RBACorePackage; /** * An implementation of the model object 'Arithmetic Operator'. * * @generated */ public abstract class ArithmeticOperatorImpl extends OperatorImpl implements ArithmeticOperator { /** * * @generated */ protected ArithmeticOperatorImpl() { super(); } /** * * @generated */ @Override protected EClass eStaticClass() { return RBACorePackage.Literals.ARITHMETIC_OPERATOR; } /** * * @generated */ public ExpressionType getUnderlyingType() { return ExpressionType.VALUE; } /** * * @generated */ public String getExpressionText() { StringBuffer expressionText = new StringBuffer(); EList expressions = getOperand(); expressionText.append("("); for (int i = 0; i < expressions.size(); i++) { rba.core.Expression expression = expressions.get(i); expressionText.append(expression.getExpressionText()); if (i == expressions.size() - 1) { expressionText.append(")"); } else { expressionText.append(" "); expressionText.append(getSymbol()); expressionText.append(" "); } } return expressionText.toString(); } /** * * @generated */ @Override public Object eInvoke(int operationID, EList arguments) throws InvocationTargetException { switch (operationID) { case RBACorePackage.ARITHMETIC_OPERATOR___GET_UNDERLYING_TYPE: return getUnderlyingType(); case RBACorePackage.ARITHMETIC_OPERATOR___GET_EXPRESSION_TEXT: return getExpressionText(); } return super.eInvoke(operationID, arguments); } } // ArithmeticOperatorImpl