Class SignatureBuilder<NT extends NamedType<?>,FO extends FiniteOrdinal<?>,C extends ControlBuilder<NT,FO,C>,B extends SignatureBuilder<?,?,?,?>>

java.lang.Object
org.bigraphs.framework.core.SignatureBuilder<NT,FO,C,B>
Type Parameters:
NT - type of the name representation
FO - type of the finite ordinal representation
C - type of the control builder
B - type of the signature builder
Direct Known Subclasses:
DynamicSignatureBuilder, KindSignatureBuilder

public abstract class SignatureBuilder<NT extends NamedType<?>,FO extends FiniteOrdinal<?>,C extends ControlBuilder<NT,FO,C>,B extends SignatureBuilder<?,?,?,?>> extends Object
Abstract base builder class for all types of signatures.
Author:
Dominik Grzelak
  • Constructor Details

    • SignatureBuilder

      public SignatureBuilder()
  • Method Details

    • createControlBuilder

      protected abstract C createControlBuilder()
      Hook method to be implemented by subclasses for creating the corresponding control builder (i.e., only active or dynamic controls).
      Returns:
      the control builder
    • newControl

      public C newControl()
    • newControl

      public C newControl(NT type, FO arity)
    • addControl

      public B addControl(Control<NT,FO> control)
    • createWith

      public abstract Signature<?> createWith(Iterable<? extends Control<NT,FO>> controls)
      Create a signature with the given controls.
      Parameters:
      controls - the controls to use for the signature
      Returns:
      a signature with the given controls
    • create

      public Signature<?> create()
      Create the signature with the assigned controls so far.
      Returns:
      a signature
    • create

      public Signature<?> create(EMetaModelData metaModelData)
    • createEmpty

      public Signature<? extends Control<NT,FO>> createEmpty()
      Creates an empty signature, meaning that the control set is empty.
      Needed for the interaction of elementary bigraphs and user-defined bigraphs.
      Returns:
      an empty signature of type <S>.
    • createEmptyStub

      protected abstract Signature<? extends Control<NT,FO>> createEmptyStub()
      This method is not called by the user; it is called by createEmpty().
    • self

      protected final B self()
    • getControls

      public Set<Control<NT,FO>> getControls()