Package org.bigraphs.framework.core
Class BigraphBuilderSupport<S extends Signature<? extends Control<?,?>>>
java.lang.Object
org.bigraphs.framework.core.BigraphBuilderSupport<S>
- All Implemented Interfaces:
BigraphBuilder<S>
- Direct Known Subclasses:
PureBigraphBuilder
public abstract class BigraphBuilderSupport<S extends Signature<? extends Control<?,?>>>
extends Object
implements BigraphBuilder<S>
Abstract support class for concrete bigraph builder implementations.
Provides generic helper methods for constructing bigraphs.
- Author:
- Dominik Grzelak
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.bigraphs.framework.core.BigraphBuilder
BigraphBuilder.NodeHierarchy<S extends Signature<? extends Control<?,?>>> -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidassertSortingIsEnsuredForControl(String controlName) protected voidassertSortingIsEnsuredForControl(Control controlName) abstract voidcloseInner(BigraphEntity.InnerName innerName, boolean keepIdleName) protected org.eclipse.emf.ecore.EObjectcreateBBigraphContainer(Collection<BigraphEntity.RootEntity> roots, Collection<BigraphEntity.Edge> edges, Collection<BigraphEntity.InnerName> innerNames, Collection<BigraphEntity.OuterName> outerNames) createNameSupplier(String prefix) protected static BModelValidationResultexecuteValidationChain(org.eclipse.emf.ecore.EObject signatureMetaModel) Executes various metamodel validators.protected abstract org.eclipse.emf.ecore.EObjectabstract org.eclipse.emf.ecore.EPackagestatic <S extends AbstractEcoreSignature<? extends Control<?,?>>>
SgetSignatureFromMetaModel(org.eclipse.emf.ecore.EObject signatureInstanceModel) protected booleanisEdge(org.eclipse.emf.ecore.EObject eObject) booleanisNode(org.eclipse.emf.ecore.EObject eObject) protected booleanisOuter(org.eclipse.emf.ecore.EObject eObject) booleanisRoot(org.eclipse.emf.ecore.EObject eObject) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.bigraphs.framework.core.BigraphBuilder
closeInner, closeOuter, create, hierarchy, hierarchy, makeGround, root, spawn
-
Field Details
-
DEFAULT_EDGE_PREFIX
- See Also:
-
DEFAULT_VERTEX_PREFIX
- See Also:
-
-
Constructor Details
-
BigraphBuilderSupport
public BigraphBuilderSupport()
-
-
Method Details
-
getMetaModel
public abstract org.eclipse.emf.ecore.EPackage getMetaModel() -
getInstanceModel
protected abstract org.eclipse.emf.ecore.EObject getInstanceModel() -
getAvailableEClasses
-
getAvailableEReferences
-
closeInner
public abstract void closeInner(BigraphEntity.InnerName innerName, boolean keepIdleName) throws LinkTypeNotExistsException - Throws:
LinkTypeNotExistsException
-
executeValidationChain
protected static BModelValidationResult executeValidationChain(org.eclipse.emf.ecore.EObject signatureMetaModel) throws SignatureValidationFailedException Executes various metamodel validators. It returns the class of the respective signature instance object passed to this method (e.g.,KindSignature).- Parameters:
signatureMetaModel- the signature instance model- Returns:
- the class of the corresponding signature instance model
- Throws:
SignatureValidationFailedException- If the validation fails because the instance model does not conform to a metamodel or the respective signature class constructor could not be found.
-
getSignatureFromMetaModel
public static <S extends AbstractEcoreSignature<? extends Control<?,?>>> S getSignatureFromMetaModel(org.eclipse.emf.ecore.EObject signatureInstanceModel) throws SignatureValidationFailedException -
assertSortingIsEnsuredForControl
-
assertSortingIsEnsuredForControl
-
isOuter
protected boolean isOuter(org.eclipse.emf.ecore.EObject eObject) -
isRoot
public boolean isRoot(org.eclipse.emf.ecore.EObject eObject) -
isNode
public boolean isNode(org.eclipse.emf.ecore.EObject eObject) -
isEdge
protected boolean isEdge(org.eclipse.emf.ecore.EObject eObject) -
createBBigraphContainer
protected org.eclipse.emf.ecore.EObject createBBigraphContainer(Collection<BigraphEntity.RootEntity> roots, Collection<BigraphEntity.Edge> edges, Collection<BigraphEntity.InnerName> innerNames, Collection<BigraphEntity.OuterName> outerNames) -
createNameSupplier
-
createIndexSupplier
-