/**
* generated by Xtext 2.26.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
*
* A representation of the model object 'Instantiation'.
*
*
*
* The following features are supported:
*
*
* - {@link com.minres.rdl.rdl.Instantiation#getInstanceType Instance Type}
* - {@link com.minres.rdl.rdl.Instantiation#getAlias Alias}
* - {@link com.minres.rdl.rdl.Instantiation#getComponentRef Component Ref}
* - {@link com.minres.rdl.rdl.Instantiation#getComponent Component}
* - {@link com.minres.rdl.rdl.Instantiation#getComponentInstances Component Instances}
*
*
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation()
* @model
* @generated
*/
public interface Instantiation extends EObject
{
/**
* Returns the value of the 'Instance Type' containment reference.
*
*
* @return the value of the 'Instance Type' containment reference.
* @see #setInstanceType(EnumInstanceType)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_InstanceType()
* @model containment="true"
* @generated
*/
EnumInstanceType getInstanceType();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getInstanceType Instance Type}' containment reference.
*
*
* @param value the new value of the 'Instance Type' containment reference.
* @see #getInstanceType()
* @generated
*/
void setInstanceType(EnumInstanceType value);
/**
* Returns the value of the 'Alias' attribute.
*
*
* @return the value of the 'Alias' attribute.
* @see #setAlias(String)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_Alias()
* @model
* @generated
*/
String getAlias();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getAlias Alias}' attribute.
*
*
* @param value the new value of the 'Alias' attribute.
* @see #getAlias()
* @generated
*/
void setAlias(String value);
/**
* Returns the value of the 'Component Ref' reference.
*
*
* @return the value of the 'Component Ref' reference.
* @see #setComponentRef(ComponentDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_ComponentRef()
* @model
* @generated
*/
ComponentDefinition getComponentRef();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getComponentRef Component Ref}' reference.
*
*
* @param value the new value of the 'Component Ref' reference.
* @see #getComponentRef()
* @generated
*/
void setComponentRef(ComponentDefinition value);
/**
* Returns the value of the 'Component' containment reference.
*
*
* @return the value of the 'Component' containment reference.
* @see #setComponent(ComponentDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_Component()
* @model containment="true"
* @generated
*/
ComponentDefinition getComponent();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getComponent Component}' containment reference.
*
*
* @param value the new value of the 'Component' containment reference.
* @see #getComponent()
* @generated
*/
void setComponent(ComponentDefinition value);
/**
* Returns the value of the 'Component Instances' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.ComponentInstance}.
*
*
* @return the value of the 'Component Instances' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_ComponentInstances()
* @model containment="true"
* @generated
*/
EList getComponentInstances();
} // Instantiation