/**
*/
package rba.core;
import org.eclipse.emf.common.util.EList;
/**
*
* A representation of the model object 'Abstract Content'.
*
*
*
*
*
*
*
* The following features are supported:
*
*
* - {@link rba.core.AbstractContent#getContentGroup Content Group}
* - {@link rba.core.AbstractContent#getAllocatable Allocatable}
*
*
* @see rba.core.RBACorePackage#getAbstractContent()
* @model abstract="true"
* @generated
*/
public interface AbstractContent extends RuleObject {
/**
* Returns the value of the 'Content Group' reference list.
* The list contents are of type {@link rba.core.ContentSet}.
* It is bidirectional and its opposite is '{@link rba.core.ContentSet#getTarget Target}'.
*
*
*
*
*
* @return the value of the 'Content Group' reference list.
* @see rba.core.RBACorePackage#getAbstractContent_ContentGroup()
* @see rba.core.ContentSet#getTarget
* @model opposite="target"
* @generated
*/
EList getContentGroup();
/**
* Returns the value of the 'Allocatable' reference list.
* The list contents are of type {@link rba.core.AbstractAllocatable}.
* It is bidirectional and its opposite is '{@link rba.core.AbstractAllocatable#getContents Contents}'.
*
*
* If the meaning of the 'Allocatable' reference list isn't clear,
* there really should be more of a description here...
*
*
* @return the value of the 'Allocatable' reference list.
* @see rba.core.RBACorePackage#getAbstractContent_Allocatable()
* @see rba.core.AbstractAllocatable#getContents
* @model opposite="contents"
* @generated
*/
EList getAllocatable();
/**
*
*
*
*
*
* @model kind="operation" ordered="false"
* annotation="http://www.eclipse.org/emf/2002/GenModel body='java.util.Set<Allocatable> allocatables = new java.util.LinkedHashSet<Allocatable>();\r\ngetAllocatable().forEach(allocatable -> allocatables.addAll(allocatable.collectLeafAllocatable()));\r\ngetContentGroup().forEach(contentSet -> allocatables.addAll(contentSet.getAllocatableList()));\r\nreturn new org.eclipse.emf.common.util.BasicEList<Allocatable>(allocatables);'"
* @generated
*/
EList getAllocatableList();
/**
*
*
*
*
*
* @model ordered="false"
* @generated
*/
EList collectLeafContents();
} // AbstractContent