org.eclipse.viatra.query.runtime.rete.network

## Class CommunicationGroup.Singleton

- java.lang.Object
- - org.eclipse.viatra.query.runtime.rete.network.CommunicationGroup
  - - org.eclipse.viatra.query.runtime.rete.network.CommunicationGroup.Singleton

- All Implemented Interfaces:
    java.lang.Comparable<CommunicationGroup>
  Enclosing class:
    CommunicationGroup

      public static final class CommunicationGroup.Singleton
      extends CommunicationGroup

  A communication group containing only a single node with a single default mailbox.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.eclipse.viatra.query.runtime.rete.network.CommunicationGroup

      `CommunicationGroup.Recursive, CommunicationGroup.Singleton`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.rete.network.CommunicationGroup

      `identifier, isEnqueued, representative`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Singleton(Node representative, int identifier)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRederivable(RederivableNode node)`
    `void` | `deliverMessages()`
    `java.util.Map<MessageKind,java.util.Collection<Mailbox>>` | `getMailboxes()`
    `java.util.Collection<RederivableNode>` | `getRederivables()`
    `boolean` | `isEmpty()`
    `void` | `notifyHasMessage(Mailbox mailbox, MessageKind kind)`
    `void` | `notifyLostAllMessages(Mailbox mailbox, MessageKind kind)`
    `void` | `removeRederivable(RederivableNode node)`

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.rete.network.CommunicationGroup

      `compareTo, equals, getRepresentative, hashCode, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Singleton

          public Singleton(Node representative,
                           int identifier)

  - ### Method Detail

    - #### deliverMessages

          public void deliverMessages()

      Specified by:
        `deliverMessages` in class `CommunicationGroup`

    - #### isEmpty

          public boolean isEmpty()

      Specified by:
        `isEmpty` in class `CommunicationGroup`

    - #### notifyHasMessage

          public void notifyHasMessage(Mailbox mailbox,
                                       MessageKind kind)

      Specified by:
        `notifyHasMessage` in class `CommunicationGroup`

    - #### notifyLostAllMessages

          public void notifyLostAllMessages(Mailbox mailbox,
                                            MessageKind kind)

      Specified by:
        `notifyLostAllMessages` in class `CommunicationGroup`

    - #### addRederivable

          public void addRederivable(RederivableNode node)

      Specified by:
        `addRederivable` in class `CommunicationGroup`

    - #### removeRederivable

          public void removeRederivable(RederivableNode node)

      Specified by:
        `removeRederivable` in class `CommunicationGroup`

    - #### getRederivables

          public java.util.Collection<RederivableNode> getRederivables()

      Specified by:
        `getRederivables` in class `CommunicationGroup`

    - #### getMailboxes

          public java.util.Map<MessageKind,java.util.Collection<Mailbox>> getMailboxes()

      Specified by:
        `getMailboxes` in class `CommunicationGroup`