Class MutableBuilder<S extends AbstractEcoreSignature<? extends Control<?,?>>>
java.lang.Object
org.bigraphs.framework.core.BigraphBuilderSupport<S>
org.bigraphs.framework.core.impl.pure.PureBigraphBuilder<S>
org.bigraphs.framework.core.impl.pure.MutableBuilder<S>
- Type Parameters:
S
- type of the signature.
- All Implemented Interfaces:
BigraphBuilder<S>
public class MutableBuilder<S extends AbstractEcoreSignature<? extends Control<?,?>>>
extends PureBigraphBuilder<S>
A generic mutable builder intended to be used for all bigraph types
- Author:
- Dominik Grzelak
-
Nested Class Summary
Nested classes/interfaces inherited from class org.bigraphs.framework.core.impl.pure.PureBigraphBuilder
PureBigraphBuilder.Hierarchy
Nested classes/interfaces inherited from class org.bigraphs.framework.core.BigraphBuilderSupport
BigraphBuilderSupport.InstanceParameter
Nested classes/interfaces inherited from interface org.bigraphs.framework.core.BigraphBuilder
BigraphBuilder.NodeHierarchy<S extends Signature<? extends Control<?,
?>>> -
Field Summary
Fields inherited from class org.bigraphs.framework.core.impl.pure.PureBigraphBuilder
availableEdges, availableInnerNames, availableNodes, availableOuterNames, availableRoots, availableSites, loadedInstanceModel, metaModel
Fields inherited from class org.bigraphs.framework.core.BigraphBuilderSupport
DEFAULT_EDGE_PREFIX, DEFAULT_VERTEX_PREFIX
-
Constructor Summary
ConstructorsConstructorDescriptionMutableBuilder
(org.eclipse.emf.ecore.EObject signature) MutableBuilder
(org.eclipse.emf.ecore.EObject signature, EMetaModelData metaModelData) MutableBuilder
(org.eclipse.emf.ecore.EObject signature, org.eclipse.emf.ecore.EPackage metaModel, org.eclipse.emf.ecore.EObject instanceModel) MutableBuilder
(S signature) MutableBuilder
(S signature, EMetaModelData metaModelData) MutableBuilder
(S signature, org.eclipse.emf.ecore.EPackage metaModel, org.eclipse.emf.ecore.EObject instanceModel) -
Method Summary
Modifier and TypeMethodDescriptionvoid
connectInnerToLink
(BigraphEntity.InnerName innerName, BigraphEntity.Link edge) void
connectInnerToOuter
(BigraphEntity.InnerName innerName, BigraphEntity.OuterName outerName) void
connectNodeToOuterName
(BigraphEntity.NodeEntity<Control> node1, BigraphEntity.OuterName outerName) Helper method to connect a node to an outer name.void
connectNodeToOuterName2
(BigraphEntity.NodeEntity<Control> node1, BigraphEntity.OuterName outerName) Performs no checking at all, only if the node is already connected to the given outer name.void
connectToEdge
(BigraphEntity.NodeEntity<Control> node, BigraphEntity.Edge theLink) no checks are done here... usePureBigraphBuilder.isConnectedWithLink(BigraphEntity.NodeEntity, EObject)
void
connectToLinkUsingIndex
(BigraphEntity.NodeEntity<Control> node, BigraphEntity theLink, int customPortIndex) org.eclipse.emf.ecore.EObject
createInstanceModel
(org.eclipse.emf.ecore.EPackage loadedEPackage, S signature, Map<Integer, BigraphEntity.RootEntity> availableRoots, Map<Integer, BigraphEntity.SiteEntity> availableSites, Map<String, BigraphEntity.NodeEntity> availableNodes, Map<String, BigraphEntity.InnerName> availableInnerNames, Map<String, BigraphEntity.OuterName> availableOuterNames, Map<String, BigraphEntity.Edge> availableEdges) createNewEdge
(String name) createNewInnerName
(String name) createNewNode
(Control<?, ?> control, String nodeIdentifier) createNewOuterName
(String name) createNewPortWithIndex
(int index) createNewRoot
(int index) createNewSite
(int index) void
disconnectPort
(BigraphEntity.NodeEntity node, int portIndex) org.eclipse.emf.ecore.EPackage
boolean
hasChildNodes
(BigraphEntity node) static <S extends AbstractEcoreSignature<? extends Control<?,
?>>>
MutableBuilder<S>newMutableBuilder
(@NonNull org.eclipse.emf.ecore.EObject signature) static <S extends AbstractEcoreSignature<? extends Control<?,
?>>>
MutableBuilder<S>newMutableBuilder
(@NonNull org.eclipse.emf.ecore.EObject signature, EMetaModelData metaModelData) static <S extends AbstractEcoreSignature<? extends Control<?,
?>>>
MutableBuilder<S>newMutableBuilder
(@NonNull org.eclipse.emf.ecore.EObject signature, org.eclipse.emf.ecore.EPackage metaModel) static <S extends AbstractEcoreSignature<? extends Control<?,
?>>>
MutableBuilder<S>newMutableBuilder
(@NonNull S signature) static <S extends AbstractEcoreSignature<? extends Control<?,
?>>>
MutableBuilder<S>newMutableBuilder
(@NonNull S signature, EMetaModelData metaModelData) static <S extends AbstractEcoreSignature<? extends Control<?,
?>>>
MutableBuilder<S>newMutableBuilder
(@NonNull S signature, org.eclipse.emf.ecore.EPackage metaModel) void
reset()
Clears all generated intermediate results of the bigraph's current construction inside the builder.void
setParentOfNode
(BigraphEntity node, BigraphEntity parent) Methods inherited from class org.bigraphs.framework.core.impl.pure.PureBigraphBuilder
addInnerNameTo, checkIfNodeIsConnectable, clearIntermediateResults, closeAllInnerNames, closeAllOuterNames, closeInnerName, closeInnerName, closeInnerName, closeInnerNames, closeOuterName, closeOuterName, closeOuterName, connectByEdge, connectInnerNames, connectInnerNames, connectInnerToOuterName, connectInnerToOuterName0, connectNodeToInnerName, connectNodeToInnerNames, create, create, create, create, create, create, create, create, create, create, create, createBigraph, createEdgeOfEClass, createEdgeOfEClass, createEdgeOfEClass0, createInnerName, createInnerNameOfEClass, createNodeOfEClass, createNodeOfEClass, createOuterName, createOuterNameOfEClass, createPortWithIndex, createRoot, createRootOfEClass, createSiteOfEClass, getAvailableEClasses, getAvailableEReferences, getInstanceModel, hierarchy, hierarchy, isConnectedWithLink, loadSignatureMetaModel, makeGround, spawnNewOne
Methods inherited from class org.bigraphs.framework.core.BigraphBuilderSupport
assertSortingIsEnsuredForControl, assertSortingIsEnsuredForControl, createBBigraphContainer, createIndexSupplier, createNameSupplier, executeValidationChain, getSignatureFromMetaModel, isEdge, isNode, isOuterName, isRoot
-
Constructor Details
-
MutableBuilder
-
MutableBuilder
public MutableBuilder(org.eclipse.emf.ecore.EObject signature) throws BigraphMetaModelLoadingFailedException -
MutableBuilder
public MutableBuilder(S signature, org.eclipse.emf.ecore.EPackage metaModel, org.eclipse.emf.ecore.EObject instanceModel) throws BigraphMetaModelLoadingFailedException -
MutableBuilder
public MutableBuilder(org.eclipse.emf.ecore.EObject signature, org.eclipse.emf.ecore.EPackage metaModel, org.eclipse.emf.ecore.EObject instanceModel) throws BigraphMetaModelLoadingFailedException -
MutableBuilder
public MutableBuilder(S signature, EMetaModelData metaModelData) throws BigraphMetaModelLoadingFailedException -
MutableBuilder
public MutableBuilder(org.eclipse.emf.ecore.EObject signature, EMetaModelData metaModelData) throws BigraphMetaModelLoadingFailedException
-
-
Method Details
-
newMutableBuilder
public static <S extends AbstractEcoreSignature<? extends Control<?,?>>> MutableBuilder<S> newMutableBuilder(@NonNull org.eclipse.emf.ecore.EObject signature) throws BigraphMetaModelLoadingFailedException -
newMutableBuilder
public static <S extends AbstractEcoreSignature<? extends Control<?,?>>> MutableBuilder<S> newMutableBuilder(@NonNull S signature) throws BigraphMetaModelLoadingFailedException -
newMutableBuilder
public static <S extends AbstractEcoreSignature<? extends Control<?,?>>> MutableBuilder<S> newMutableBuilder(@NonNull S signature, org.eclipse.emf.ecore.EPackage metaModel) throws BigraphMetaModelLoadingFailedException -
newMutableBuilder
public static <S extends AbstractEcoreSignature<? extends Control<?,?>>> MutableBuilder<S> newMutableBuilder(@NonNull org.eclipse.emf.ecore.EObject signature, org.eclipse.emf.ecore.EPackage metaModel) throws BigraphMetaModelLoadingFailedException -
newMutableBuilder
public static <S extends AbstractEcoreSignature<? extends Control<?,?>>> MutableBuilder<S> newMutableBuilder(@NonNull S signature, EMetaModelData metaModelData) throws BigraphMetaModelLoadingFailedException -
newMutableBuilder
public static <S extends AbstractEcoreSignature<? extends Control<?,?>>> MutableBuilder<S> newMutableBuilder(@NonNull org.eclipse.emf.ecore.EObject signature, EMetaModelData metaModelData) throws BigraphMetaModelLoadingFailedException -
getMetaModel
public org.eclipse.emf.ecore.EPackage getMetaModel()- Overrides:
getMetaModel
in classPureBigraphBuilder<S extends AbstractEcoreSignature<? extends Control<?,
?>>>
-
createNewNode
-
createNewSite
-
createNewRoot
-
createNewInnerName
-
createNewOuterName
-
createNewEdge
-
createNewPortWithIndex
-
disconnectPort
-
setParentOfNode
-
hasChildNodes
-
connectInnerToOuter
public void connectInnerToOuter(BigraphEntity.InnerName innerName, BigraphEntity.OuterName outerName) -
connectToLinkUsingIndex
public void connectToLinkUsingIndex(BigraphEntity.NodeEntity<Control> node, BigraphEntity theLink, int customPortIndex) - Overrides:
connectToLinkUsingIndex
in classPureBigraphBuilder<S extends AbstractEcoreSignature<? extends Control<?,
?>>>
-
connectToEdge
Description copied from class:PureBigraphBuilder
no checks are done here... usePureBigraphBuilder.isConnectedWithLink(BigraphEntity.NodeEntity, EObject)
- Overrides:
connectToEdge
in classPureBigraphBuilder<S extends AbstractEcoreSignature<? extends Control<?,
?>>> - Parameters:
node
- the node to connecttheLink
- the edge to use to connect the node- See Also:
-
connectInnerToLink
- Overrides:
connectInnerToLink
in classPureBigraphBuilder<S extends AbstractEcoreSignature<? extends Control<?,
?>>>
-
reset
public void reset()Clears all generated intermediate results of the bigraph's current construction inside the builder. -
getCreatedEdges
-
connectNodeToOuterName
public void connectNodeToOuterName(BigraphEntity.NodeEntity<Control> node1, BigraphEntity.OuterName outerName) Description copied from class:PureBigraphBuilder
Helper method to connect a node to an outer name.- Overrides:
connectNodeToOuterName
in classPureBigraphBuilder<S extends AbstractEcoreSignature<? extends Control<?,
?>>> - Parameters:
node1
- the node to connectouterName
- the outer name to which the node is connected
-
connectNodeToOuterName2
public void connectNodeToOuterName2(BigraphEntity.NodeEntity<Control> node1, BigraphEntity.OuterName outerName) Performs no checking at all, only if the node is already connected to the given outer name.- Parameters:
node1
-outerName
-
-
createInstanceModel
public org.eclipse.emf.ecore.EObject createInstanceModel(org.eclipse.emf.ecore.EPackage loadedEPackage, S signature, Map<Integer, BigraphEntity.RootEntity> availableRoots, Map<Integer, BigraphEntity.SiteEntity> availableSites, Map<String, BigraphEntity.NodeEntity> availableNodes, Map<String, BigraphEntity.InnerName> availableInnerNames, Map<String, BigraphEntity.OuterName> availableOuterNames, Map<String, BigraphEntity.Edge> availableEdges) -
availableEdges
-
availableOuterNames
-
availableInnerNames
-
availableRoots
-
availableSites
-
availableNodes
-