Class AbstractBigraphFactory<S extends AbstractEcoreSignature<? extends Control<? extends NamedType<?>,? extends FiniteOrdinal<?>>>>
java.lang.Object
org.bigraphs.framework.core.factory.AbstractBigraphFactory<S>
- All Implemented Interfaces:
BigraphFactoryElement
- Direct Known Subclasses:
KindBigraphFactory
,PureBigraphFactory
public abstract class AbstractBigraphFactory<S extends AbstractEcoreSignature<? extends Control<? extends NamedType<?>,? extends FiniteOrdinal<?>>>>
extends Object
implements BigraphFactoryElement
Abstract factory class for all kind of bigraphs.
- Author:
- Dominik Grzelak
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract BigraphComposite<S>
asBigraphOperator
(Bigraph<S> outerBigraph) Create a composition object for a given bigraph which allows to compose bigraphs.abstract BigraphBuilder<S>
createBigraphBuilder
(Signature<?> signature) Throws a class cast exception when a signature is passed as argument which was not created with theSignatureBuilder
created by the same instance of this factory.abstract BigraphBuilder<S>
createBigraphBuilder
(Signature<?> signature, String metaModelFileName) abstract BigraphBuilder<S>
createBigraphBuilder
(Signature<?> signature, EMetaModelData metaModelData) Throws a class cast exception when a signature is passed as argument which was not created with theSignatureBuilder
created by the same instance of this factory.abstract BigraphBuilder<S>
createBigraphBuilder
(Signature<?> signature, org.eclipse.emf.ecore.EPackage bigraphMetaModel) abstract DiscreteIon<S>
createDiscreteIon
(String name, Set<String> outerNames, S signature) abstract DiscreteIon<S>
createDiscreteIon
(String name, Set<String> outerNames, S signature, org.eclipse.emf.ecore.EPackage bigraphMetaModel) abstract DiscreteIon<S>
createDiscreteIon
(NamedType<?> name, Set<NamedType<?>> outerNames, S signature) Throws a runtime exception either because of InvalidConnectionException or TypeNotExistsException when connecting the outer names to the node.createLinkings
(S signature) createLinkings
(S signature, EMetaModelData metaModelData) createLinkings
(S signature, org.eclipse.emf.ecore.EPackage bigraphMetaModel) createPlacings
(S signature) createPlacings
(S signature, EMetaModelData metaModelData) createPlacings
(S signature, org.eclipse.emf.ecore.EPackage bigraphMetaModel) createRandomBuilder
(DefaultDynamicSignature signature) createRandomBuilder
(DefaultDynamicSignature signature, org.eclipse.emf.ecore.EPackage metaModel) abstract <SB extends SignatureBuilder>
SBCreates a builder for constructing pure dynamic signatures .
-
Field Details
-
signatureImplType
-
bigraphClassType
protected Class<? extends Bigraph<S extends AbstractEcoreSignature<? extends Control<? extends NamedType<?>,? extends FiniteOrdinal<?>>>>> bigraphClassType
-
-
Constructor Details
-
AbstractBigraphFactory
public AbstractBigraphFactory()
-
-
Method Details
-
getSignatureType
- Specified by:
getSignatureType
in interfaceBigraphFactoryElement
-
getBigraphClassType
- Specified by:
getBigraphClassType
in interfaceBigraphFactoryElement
-
createSignatureBuilder
Creates a builder for constructing pure dynamic signatures .- Type Parameters:
SB
- type of the signature builder (i.e., the type of the controls)- Returns:
- a new signature builder instance
-
createBigraphBuilder
Throws a class cast exception when a signature is passed as argument which was not created with theSignatureBuilder
created by the same instance of this factory. Thus, they must have the same signature type.- Parameters:
signature
- the signature of the bigraph to build- Returns:
- a
PureBigraphBuilder
instance with signature type S which is inferred from the given signature.
-
createRandomBuilder
-
createRandomBuilder
public PureBigraphGenerator createRandomBuilder(DefaultDynamicSignature signature, org.eclipse.emf.ecore.EPackage metaModel) -
createBigraphBuilder
public abstract BigraphBuilder<S> createBigraphBuilder(Signature<?> signature, EMetaModelData metaModelData) Throws a class cast exception when a signature is passed as argument which was not created with theSignatureBuilder
created by the same instance of this factory. Thus, they must have the same signature type.- Parameters:
signature
- the signature of the bigraph to buildmetaModelData
- meta data for the ecore files- Returns:
- a
PureBigraphBuilder
instance with signature type S which is inferred from the given signature.
-
createBigraphBuilder
public abstract BigraphBuilder<S> createBigraphBuilder(Signature<?> signature, String metaModelFileName) -
createBigraphBuilder
public abstract BigraphBuilder<S> createBigraphBuilder(Signature<?> signature, org.eclipse.emf.ecore.EPackage bigraphMetaModel) -
createPlacings
-
createPlacings
-
createPlacings
-
createLinkings
-
createLinkings
-
createLinkings
-
createDiscreteIon
public abstract DiscreteIon<S> createDiscreteIon(NamedType<?> name, Set<NamedType<?>> outerNames, S signature) Throws a runtime exception either because of InvalidConnectionException or TypeNotExistsException when connecting the outer names to the node.- Parameters:
name
- the control's name for the ionouterNames
- a set of outer names the ion shall havesignature
- the signature of that ion- Returns:
- a discrete ion
-
createDiscreteIon
-
createDiscreteIon
-
asBigraphOperator
Create a composition object for a given bigraph which allows to compose bigraphs. By that, bigraph operations can be extended and easily linked together.- Parameters:
outerBigraph
- the outer bigraph in terms of a composition operator when an operator is applied- Returns:
- a bigraph composition operator based on the passed bigraph
-