Class ReplicatedStateMachine

java.lang.Object
org.teamapps.application.api.state.ReplicatedStateMachine
All Implemented Interfaces:
org.teamapps.cluster.state.ReplicatedStateHandler

public class ReplicatedStateMachine
extends java.lang.Object
implements org.teamapps.cluster.state.ReplicatedStateHandler
  • Constructor Summary

    Constructors
    Constructor Description
    ReplicatedStateMachine​(org.teamapps.cluster.state.ReplicatedState replicatedState)  
  • Method Summary

    Modifier and Type Method Description
    void executePreparedUpdates()  
    <TYPE extends org.teamapps.protocol.schema.MessageObject>
    ReplicatedList<TYPE>
    getOrCreateList​(java.lang.String name, org.teamapps.protocol.schema.PojoObjectDecoder<TYPE> messageDecoder, java.util.function.Function<TYPE,​java.lang.String> typeToIdFunction)  
    <TYPE extends org.teamapps.protocol.schema.MessageObject>
    ReplicatedProperty<TYPE>
    getOrCreateProperty​(java.lang.String name, org.teamapps.protocol.schema.PojoObjectDecoder<TYPE> messageDecoder)  
    void handleAllEntriesRemoved​(java.lang.String list)  
    void handleEntryAdded​(java.lang.String list, org.teamapps.protocol.schema.MessageObject message)  
    void handleEntryRemoved​(java.lang.String list, org.teamapps.protocol.schema.MessageObject message)  
    void handleEntryUpdated​(java.lang.String list, org.teamapps.protocol.schema.MessageObject currentState, org.teamapps.protocol.schema.MessageObject previousState)  
    void handleFireAndForget​(java.lang.String list, org.teamapps.protocol.schema.MessageObject message)  
    void handleStateMachineRemoved()  
    void handleStateUpdated​(java.lang.String stateId, org.teamapps.protocol.schema.MessageObject state)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ReplicatedStateMachine

      public ReplicatedStateMachine​(org.teamapps.cluster.state.ReplicatedState replicatedState)
  • Method Details

    • getOrCreateList

      public <TYPE extends org.teamapps.protocol.schema.MessageObject> ReplicatedList<TYPE> getOrCreateList​(java.lang.String name, org.teamapps.protocol.schema.PojoObjectDecoder<TYPE> messageDecoder, java.util.function.Function<TYPE,​java.lang.String> typeToIdFunction)
    • getOrCreateProperty

      public <TYPE extends org.teamapps.protocol.schema.MessageObject> ReplicatedProperty<TYPE> getOrCreateProperty​(java.lang.String name, org.teamapps.protocol.schema.PojoObjectDecoder<TYPE> messageDecoder)
    • executePreparedUpdates

      public void executePreparedUpdates()
    • handleStateUpdated

      public void handleStateUpdated​(java.lang.String stateId, org.teamapps.protocol.schema.MessageObject state)
      Specified by:
      handleStateUpdated in interface org.teamapps.cluster.state.ReplicatedStateHandler
    • handleEntryAdded

      public void handleEntryAdded​(java.lang.String list, org.teamapps.protocol.schema.MessageObject message)
      Specified by:
      handleEntryAdded in interface org.teamapps.cluster.state.ReplicatedStateHandler
    • handleEntryRemoved

      public void handleEntryRemoved​(java.lang.String list, org.teamapps.protocol.schema.MessageObject message)
      Specified by:
      handleEntryRemoved in interface org.teamapps.cluster.state.ReplicatedStateHandler
    • handleEntryUpdated

      public void handleEntryUpdated​(java.lang.String list, org.teamapps.protocol.schema.MessageObject currentState, org.teamapps.protocol.schema.MessageObject previousState)
      Specified by:
      handleEntryUpdated in interface org.teamapps.cluster.state.ReplicatedStateHandler
    • handleAllEntriesRemoved

      public void handleAllEntriesRemoved​(java.lang.String list)
      Specified by:
      handleAllEntriesRemoved in interface org.teamapps.cluster.state.ReplicatedStateHandler
    • handleFireAndForget

      public void handleFireAndForget​(java.lang.String list, org.teamapps.protocol.schema.MessageObject message)
      Specified by:
      handleFireAndForget in interface org.teamapps.cluster.state.ReplicatedStateHandler
    • handleStateMachineRemoved

      public void handleStateMachineRemoved()
      Specified by:
      handleStateMachineRemoved in interface org.teamapps.cluster.state.ReplicatedStateHandler