/**
*/
package rba.core;
import org.eclipse.emf.common.util.EList;
/**
*
* A representation of the model object 'Abstract Allocatable'.
*
*
*
*
*
*
*
* The following features are supported:
*
*
* - {@link rba.core.AbstractAllocatable#getContents Contents}
* - {@link rba.core.AbstractAllocatable#getAllocatableGroup Allocatable Group}
*
*
* @see rba.core.RBACorePackage#getAbstractAllocatable()
* @model abstract="true"
* @generated
*/
public interface AbstractAllocatable extends RuleObject {
/**
* Returns the value of the 'Contents' reference list.
* The list contents are of type {@link rba.core.AbstractContent}.
* It is bidirectional and its opposite is '{@link rba.core.AbstractContent#getAllocatable Allocatable}'.
*
*
*
*
*
* @return the value of the 'Contents' reference list.
* @see rba.core.RBACorePackage#getAbstractAllocatable_Contents()
* @see rba.core.AbstractContent#getAllocatable
* @model opposite="allocatable"
* @generated
*/
EList getContents();
/**
* Returns the value of the 'Allocatable Group' reference list.
* The list contents are of type {@link rba.core.AllocatableSet}.
* It is bidirectional and its opposite is '{@link rba.core.AllocatableSet#getTarget Target}'.
*
*
*
*
*
* @return the value of the 'Allocatable Group' reference list.
* @see rba.core.RBACorePackage#getAbstractAllocatable_AllocatableGroup()
* @see rba.core.AllocatableSet#getTarget
* @model opposite="target"
* @generated
*/
EList getAllocatableGroup();
/**
*
*
*
*
*
* @model kind="operation" ordered="false"
* annotation="http://www.eclipse.org/emf/2002/GenModel body='java.util.Set<Content> contents = new java.util.LinkedHashSet<Content>();\r\ngetContents().forEach(content -> contents.addAll(content.collectLeafContents()));\r\ngetAllocatableGroup().forEach(allocatableSet -> contents.addAll(allocatableSet.getContentsList()));\r\nreturn new org.eclipse.emf.common.util.BasicEList<Content>(contents);'"
* @generated
*/
EList getContentsList();
/**
*
*
*
*
*
* @model ordered="false"
* @generated
*/
EList collectLeafAllocatable();
} // AbstractAllocatable