Interface PmessageSystem

All Known Subinterfaces:
PmessageSystemEE
All Known Implementing Classes:
SimpleMessageSystem

public interface PmessageSystem
The PmessageSystem abstract class contains virtual methods that send Pmessages and get them. Subclasses provide implementations suitable for different systems.

This interface is not ideal for use with Java EE. Currently, we can accommodate EE by adding one constructor to an extension of this interface called PmessageSystemEE

This interface, as originally written, assumes that processes share a communication area containing message queues. A robust implementation of a subclass will be sure to provide ways to save the queues when the system is going down. Simple implementations are allowed to ignore this area of functionality with only a message on the error log. A conforming Java EE concrete class may rely on the persistence of the queues in the EE server.

For ease of use with the pygar configuration convention, this class must provide a factory method in addition to the normal constructor. Thus, the configuration profile can contain an instance of the desired subclass which will subsequently provide instances during program execution.

  • Method Summary

    Modifier and Type Method Description
    boolean canSend​(Pmessage message)
    Test whether the system is ready to send to a given recipient.
    PmessageSystem getPmessageSystem​(java.lang.String senderId)
    Factory method returns a working instance for the specified senderId.
    boolean hasNext()
    Return true if there is a Pmessage waiting to be received.
    Pmessage next()
    Return the next waiting Pmessage or void if there is none.
    void printAgents()
    Return all the agent names associated with this instance.
    void send​(java.lang.String sender, java.lang.String receiver, java.lang.String event)
    Construct and send a simple event Pmessage to a destination.
    void send​(Pmessage message)
    Send a Pmessage to the destination specified in the Pmessage object.
    boolean shutdownNow()
    Return true if the system should shutdown.
  • Method Details

    • getPmessageSystem

      PmessageSystem getPmessageSystem​(java.lang.String senderId)
      Factory method returns a working instance for the specified senderId.
      Parameters:
      senderId - the Id of the entity that will use this instance of the message system.
      Returns:
      exemplar
    • send

      void send​(Pmessage message) throws MessageSystemException
      Send a Pmessage to the destination specified in the Pmessage object.
      Parameters:
      message -
      Throws:
      MessageSystemException
    • canSend

      boolean canSend​(Pmessage message)
      Test whether the system is ready to send to a given recipient.
      Parameters:
      message -
      Returns:
      true if ready to send
    • send

      void send​(java.lang.String sender, java.lang.String receiver, java.lang.String event) throws MessageSystemException
      Construct and send a simple event Pmessage to a destination.
      Parameters:
      sender -
      receiver -
      event -
      Throws:
      MessageSystemException
    • hasNext

      boolean hasNext()
      Return true if there is a Pmessage waiting to be received.
      Returns:
      boolean
    • next

      Return the next waiting Pmessage or void if there is none.
      Returns:
      Pmessage
      Throws:
      MessageSystemException
    • printAgents

      void printAgents()
      Return all the agent names associated with this instance. Usually, there is just one. However, in certain test procedures as well as in the subclass SimpleMessageSystem there may be several.
    • shutdownNow

      boolean shutdownNow()
      Return true if the system should shutdown. There is no general way to determine this condition. It will depend on the implementation in the subclasses.