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 Details

  • Constructor Details

    • AbstractBigraphFactory

      public AbstractBigraphFactory()
  • Method Details

    • getSignatureType

      public Type getSignatureType()
      Specified by:
      getSignatureType in interface BigraphFactoryElement
    • getBigraphClassType

      public Class<? extends Bigraph<S>> getBigraphClassType()
      Specified by:
      getBigraphClassType in interface BigraphFactoryElement
    • createSignatureBuilder

      public abstract <SB extends SignatureBuilder> SB 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

      public abstract BigraphBuilder<S> createBigraphBuilder(Signature<?> signature)
      Throws a class cast exception when a signature is passed as argument which was not created with the SignatureBuilder 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

      public PureBigraphGenerator createRandomBuilder(DefaultDynamicSignature signature)
    • 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 the SignatureBuilder 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
      metaModelData - 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

      public abstract Placings<S> createPlacings(S signature)
    • createPlacings

      public abstract Placings<S> createPlacings(S signature, org.eclipse.emf.ecore.EPackage bigraphMetaModel)
    • createPlacings

      public abstract Placings<S> createPlacings(S signature, EMetaModelData metaModelData)
    • createLinkings

      public abstract Linkings<S> createLinkings(S signature)
    • createLinkings

      public abstract Linkings<S> createLinkings(S signature, org.eclipse.emf.ecore.EPackage bigraphMetaModel)
    • createLinkings

      public abstract Linkings<S> createLinkings(S signature, EMetaModelData metaModelData)
    • 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 ion
      outerNames - a set of outer names the ion shall have
      signature - the signature of that ion
      Returns:
      a discrete ion
    • createDiscreteIon

      public abstract DiscreteIon<S> createDiscreteIon(String name, Set<String> outerNames, S signature)
    • createDiscreteIon

      public abstract DiscreteIon<S> createDiscreteIon(String name, Set<String> outerNames, S signature, org.eclipse.emf.ecore.EPackage bigraphMetaModel)
    • asBigraphOperator

      public abstract BigraphComposite<S> asBigraphOperator(Bigraph<S> outerBigraph)
      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