/**
*/
package rba.core;
/**
*
* A representation of the model object 'Object Reference'.
*
*
*
*
*
*
*
* The following features are supported:
*
*
* - {@link rba.core.ObjectReference#getRefObject Ref Object}
*
*
* @see rba.core.RBACorePackage#getObjectReference()
* @model
* @generated
*/
public interface ObjectReference extends Expression {
/**
* Returns the value of the 'Ref Object' reference.
*
*
*
*
*
* @return the value of the 'Ref Object' reference.
* @see #setRefObject(RuleObject)
* @see rba.core.RBACorePackage#getObjectReference_RefObject()
* @model
* @generated
*/
RuleObject getRefObject();
/**
* Sets the value of the '{@link rba.core.ObjectReference#getRefObject Ref Object}' reference.
*
*
* @param value the new value of the 'Ref Object' reference.
* @see #getRefObject()
* @generated
*/
void setRefObject(RuleObject value);
/**
*
*
*
* @Override
*
* @model kind="operation"
* annotation="http://www.eclipse.org/emf/2002/GenModel body='RuleObject obj = getRefObject();\r\nif (obj != null) {\r\n return obj.getExpressionType();\r\n} else {\r\n return ExpressionType.VALUE;\r\n}'"
* @generated
*/
ExpressionType getUnderlyingType();
/**
*
*
*
*
*
* @model kind="operation"
* annotation="http://www.eclipse.org/emf/2002/GenModel body='StringBuffer expressionText = new StringBuffer();\r\nRuleObject obj = getRefObject();\r\nif (obj instanceof <%rba.core.ContentState%>) {\r\n ContentState state = (ContentState) obj;\r\n expressionText.append(state.getOwner().getName() + \".\" + state.getName());\r\n} else if (obj instanceof <%rba.core.AbstractProperty%>) {\r\n AbstractProperty property = (AbstractProperty) obj;\r\n expressionText.append(property.getOwner().getName() + \".\" + property.getName());\r\n} else {\r\n expressionText.append(obj != null ? obj.getName() : \"[Invalid_Expression]\");\r\n}\r\nreturn expressionText.toString();'"
* @generated
*/
String getExpressionText();
} // ObjectReference