Interface Message<I extends Id<O>,​O,​E>

Type Parameters:
I - the Id Type
O - the Object Type
E - the Effect Type
All Known Subinterfaces:
AccountModule.AccountMsg, LocalMessage<I,​O,​E>, TestModule.CMsg<E>, TestModule.LMsg<E>, TransferModule.TransferMsg
All Known Implementing Classes:
AccountModule.Deposit, AccountModule.Open, AccountModule.Withdraw, TestModule.CopyId, TestModule.LocalCopyId, TestModule.LocalSendSetMember, TestModule.LocalSetMember, TestModule.SendSetMember, TestModule.SetMember, TestModule.ThrowPstException, TransferModule.Book

public interface Message<I extends Id<O>,​O,​E>

A Message is a factory for building a Msg using a fluent Builder.

Example implementation usage:


 public Msg<I, O, E> msg(Environment<I, O, E> env) { return env.
      pre(() -> ...).
      app(() -> ...).
      eff(() -> ...).
      pst(() -> ...);
 }
 

See also Performance for an example.

  • Method Summary

    Modifier and Type Method Description
    Msg<I,​O,​E> msg​(Environment<I,​O,​E> env)
    Builds a Msg, given an Environment
  • Method Details

    • msg

      Msg<I,​O,​E> msg​(Environment<I,​O,​E> env)
      Builds a Msg, given an Environment
      Parameters:
      env - the environment
      Returns:
      the Msg