/**
* 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 'Component Definition'.
*
*
*
* The following features are supported:
*
*
* - {@link com.minres.rdl.rdl.ComponentDefinition#getType Type}
* - {@link com.minres.rdl.rdl.ComponentDefinition#getName Name}
* - {@link com.minres.rdl.rdl.ComponentDefinition#getComponentDefinitions Component Definitions}
* - {@link com.minres.rdl.rdl.ComponentDefinition#getInstantiations Instantiations}
* - {@link com.minres.rdl.rdl.ComponentDefinition#getPropertyAssignments Property Assignments}
* - {@link com.minres.rdl.rdl.ComponentDefinition#getEnumDefinitions Enum Definitions}
*
*
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition()
* @model
* @generated
*/
public interface ComponentDefinition extends EObject
{
/**
* Returns the value of the 'Type' attribute.
* The literals are from the enumeration {@link com.minres.rdl.rdl.ComponentDefinitionType}.
*
*
* @return the value of the 'Type' attribute.
* @see com.minres.rdl.rdl.ComponentDefinitionType
* @see #setType(ComponentDefinitionType)
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_Type()
* @model
* @generated
*/
ComponentDefinitionType getType();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentDefinition#getType Type}' attribute.
*
*
* @param value the new value of the 'Type' attribute.
* @see com.minres.rdl.rdl.ComponentDefinitionType
* @see #getType()
* @generated
*/
void setType(ComponentDefinitionType value);
/**
* Returns the value of the 'Name' attribute.
*
*
* @return the value of the 'Name' attribute.
* @see #setName(String)
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_Name()
* @model
* @generated
*/
String getName();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentDefinition#getName Name}' attribute.
*
*
* @param value the new value of the 'Name' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
/**
* Returns the value of the 'Component Definitions' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.ComponentDefinition}.
*
*
* @return the value of the 'Component Definitions' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_ComponentDefinitions()
* @model containment="true"
* @generated
*/
EList getComponentDefinitions();
/**
* Returns the value of the 'Instantiations' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.Instantiation}.
*
*
* @return the value of the 'Instantiations' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_Instantiations()
* @model containment="true"
* @generated
*/
EList getInstantiations();
/**
* Returns the value of the 'Property Assignments' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.PropertyAssignment}.
*
*
* @return the value of the 'Property Assignments' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_PropertyAssignments()
* @model containment="true"
* @generated
*/
EList getPropertyAssignments();
/**
* Returns the value of the 'Enum Definitions' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.EnumDefinition}.
*
*
* @return the value of the 'Enum Definitions' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_EnumDefinitions()
* @model containment="true"
* @generated
*/
EList getEnumDefinitions();
} // ComponentDefinition