/**
*/
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.ExistsOperator;
import rba.core.ExpressionType;
import rba.core.RBACorePackage;
/**
* An implementation of the model object 'Exists Operator'.
*
* @generated
*/
public class ExistsOperatorImpl extends LambdaContextImpl implements ExistsOperator {
/**
*
* @generated
*/
protected ExistsOperatorImpl() {
super();
}
/**
*
* @generated
*/
@Override
protected EClass eStaticClass() {
return RBACorePackage.Literals.EXISTS_OPERATOR;
}
/**
*
* @generated
*/
public String getExpressionText() {
StringBuffer expressionText = new StringBuffer();
EList expressions = getOperand();
rba.core.LambdaExpression lambda = getLambda();
expressionText.append(getSymbol());
expressionText.append(" ");
expressionText.append(expressions.size() > 0 ? expressions.get(0).getExpressionText() : "[Invalid_Expression]");
expressionText.append(" ");
expressionText.append(lambda != null ? lambda.getExpressionText() : "[Invalid_Expression]");
return expressionText.toString();
}
/**
*
* @generated
*/
public String getSymbol() {
return "Exists";
}
/**
*
* @generated
*/
public ExpressionType getUnderlyingType() {
return ExpressionType.BOOLEAN;
}
/**
*
* @generated
*/
@Override
public Object eInvoke(int operationID, EList> arguments) throws InvocationTargetException {
switch (operationID) {
case RBACorePackage.EXISTS_OPERATOR___GET_EXPRESSION_TEXT:
return getExpressionText();
case RBACorePackage.EXISTS_OPERATOR___GET_SYMBOL:
return getSymbol();
case RBACorePackage.EXISTS_OPERATOR___GET_UNDERLYING_TYPE:
return getUnderlyingType();
}
return super.eInvoke(operationID, arguments);
}
} // ExistsOperatorImpl