/**
*/
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.ActiveContents;
import rba.core.ExpressionType;
import rba.core.RBACorePackage;
/**
*
* An implementation of the model object 'Active Contents'.
*
*
* @generated
*/
public class ActiveContentsImpl extends AllocatableOperatorImpl implements ActiveContents {
/**
*
*
* @generated
*/
protected ActiveContentsImpl() {
super();
}
/**
*
*
* @generated
*/
@Override
protected EClass eStaticClass() {
return RBACorePackage.Literals.ACTIVE_CONTENTS;
}
/**
*
*
* @generated
*/
public String getSymbol() {
return ".activeContents()";
}
/**
*
*
* @generated
*/
public ExpressionType getUnderlyingType() {
EList expressions = getOperand();
if (!expressions.isEmpty() && expressions.get(0) != null) {
rba.core.Expression first = expressions.get(0);
if (first.getType() == ExpressionType.AREA) {
return ExpressionType.SET_OF_CONTENT;
} else if (first.getType() == ExpressionType.ZONE) {
return ExpressionType.SET_OF_SOUND;
}
}
return ExpressionType.VALUE;
}
/**
*
*
* @generated
*/
@Override
public Object eInvoke(int operationID, EList> arguments) throws InvocationTargetException {
switch (operationID) {
case RBACorePackage.ACTIVE_CONTENTS___GET_SYMBOL:
return getSymbol();
case RBACorePackage.ACTIVE_CONTENTS___GET_UNDERLYING_TYPE:
return getUnderlyingType();
}
return super.eInvoke(operationID, arguments);
}
} //ActiveContentsImpl