Class AOMEntry

  • All Implemented Interfaces:
    org.glassfish.pfl.basic.fsm.FSM

    public class AOMEntry
    extends org.glassfish.pfl.basic.fsm.FSMImpl
    AOMEntry represents a Servant or potential Servant in the ActiveObjectMap. It may be in several states to allow for long incarnate or etherealize operations. The methods on this class mostly represent input symbols to the state machine that controls the lifecycle of the entry. A library is used to build the state machine rather than the more usual state pattern so that the state machine transitions are explicitly visible.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) static org.glassfish.pfl.basic.fsm.Input ACTIVATE  
      private int[] counter  
      private static org.glassfish.pfl.basic.fsm.Guard.Base.IntFunc counterFunc  
      private static org.glassfish.pfl.basic.fsm.Action decrementAction  
      static org.glassfish.pfl.basic.fsm.State DESTROYED  
      private static org.glassfish.pfl.basic.fsm.StateEngine engine  
      (package private) static org.glassfish.pfl.basic.fsm.Input ENTER  
      static org.glassfish.pfl.basic.fsm.State ETH  
      (package private) static org.glassfish.pfl.basic.fsm.Input ETH_DONE  
      private java.lang.Thread[] etherealizer  
      static org.glassfish.pfl.basic.fsm.State ETHP  
      (package private) static org.glassfish.pfl.basic.fsm.Input EXIT  
      private static org.glassfish.pfl.basic.fsm.Guard greaterOneGuard  
      private static org.glassfish.pfl.basic.fsm.Guard greaterZeroGuard  
      (package private) static org.glassfish.pfl.basic.fsm.Input INC_DONE  
      (package private) static org.glassfish.pfl.basic.fsm.Input INC_FAIL  
      static org.glassfish.pfl.basic.fsm.State INCARN  
      private static org.glassfish.pfl.basic.fsm.Action incrementAction  
      static org.glassfish.pfl.basic.fsm.State INVALID  
      private static org.glassfish.pfl.basic.fsm.Action oaaAction  
      private static org.glassfish.pfl.basic.fsm.Guard.Base.IntFunc one  
      private static org.glassfish.pfl.basic.fsm.Guard oneGuard  
      (package private) POAImpl poa  
      private org.glassfish.pfl.basic.fsm.Runner runner  
      (package private) static org.glassfish.pfl.basic.fsm.Input START_ETH  
      private static org.glassfish.pfl.basic.fsm.Action throwIllegalStateExceptionAction  
      static org.glassfish.pfl.basic.fsm.State VALID  
      private java.util.concurrent.locks.Condition wait  
      private static org.glassfish.pfl.basic.fsm.Guard waitGuard  
      private static POASystemException wrapper  
      private static org.glassfish.pfl.basic.fsm.Guard.Base.IntFunc zero  
      private static org.glassfish.pfl.basic.fsm.Guard zeroGuard  
    • Constructor Summary

      Constructors 
      Constructor Description
      AOMEntry​(POAImpl poa)  
    • Field Detail

      • runner

        private org.glassfish.pfl.basic.fsm.Runner runner
      • etherealizer

        private final java.lang.Thread[] etherealizer
      • counter

        private final int[] counter
      • wait

        private final java.util.concurrent.locks.Condition wait
      • INVALID

        public static final org.glassfish.pfl.basic.fsm.State INVALID
      • INCARN

        public static final org.glassfish.pfl.basic.fsm.State INCARN
      • VALID

        public static final org.glassfish.pfl.basic.fsm.State VALID
      • ETHP

        public static final org.glassfish.pfl.basic.fsm.State ETHP
      • ETH

        public static final org.glassfish.pfl.basic.fsm.State ETH
      • DESTROYED

        public static final org.glassfish.pfl.basic.fsm.State DESTROYED
      • START_ETH

        static final org.glassfish.pfl.basic.fsm.Input START_ETH
      • ETH_DONE

        static final org.glassfish.pfl.basic.fsm.Input ETH_DONE
      • INC_DONE

        static final org.glassfish.pfl.basic.fsm.Input INC_DONE
      • INC_FAIL

        static final org.glassfish.pfl.basic.fsm.Input INC_FAIL
      • ACTIVATE

        static final org.glassfish.pfl.basic.fsm.Input ACTIVATE
      • ENTER

        static final org.glassfish.pfl.basic.fsm.Input ENTER
      • EXIT

        static final org.glassfish.pfl.basic.fsm.Input EXIT
      • incrementAction

        private static final org.glassfish.pfl.basic.fsm.Action incrementAction
      • decrementAction

        private static final org.glassfish.pfl.basic.fsm.Action decrementAction
      • throwIllegalStateExceptionAction

        private static final org.glassfish.pfl.basic.fsm.Action throwIllegalStateExceptionAction
      • oaaAction

        private static final org.glassfish.pfl.basic.fsm.Action oaaAction
      • waitGuard

        private static final org.glassfish.pfl.basic.fsm.Guard waitGuard
      • counterFunc

        private static final org.glassfish.pfl.basic.fsm.Guard.Base.IntFunc counterFunc
      • one

        private static final org.glassfish.pfl.basic.fsm.Guard.Base.IntFunc one
      • zero

        private static final org.glassfish.pfl.basic.fsm.Guard.Base.IntFunc zero
      • greaterZeroGuard

        private static final org.glassfish.pfl.basic.fsm.Guard greaterZeroGuard
      • zeroGuard

        private static final org.glassfish.pfl.basic.fsm.Guard zeroGuard
      • greaterOneGuard

        private static final org.glassfish.pfl.basic.fsm.Guard greaterOneGuard
      • oneGuard

        private static final org.glassfish.pfl.basic.fsm.Guard oneGuard
      • engine

        private static final org.glassfish.pfl.basic.fsm.StateEngine engine
    • Constructor Detail

      • AOMEntry

        public AOMEntry​(POAImpl poa)
    • Method Detail

      • state

        @InfoMethod
        private void state​(org.glassfish.pfl.basic.fsm.State state)
      • setState

        public void setState​(org.glassfish.pfl.basic.fsm.State state)
        Specified by:
        setState in interface org.glassfish.pfl.basic.fsm.FSM
        Overrides:
        setState in class org.glassfish.pfl.basic.fsm.FSMImpl
      • startEtherealize

        public void startEtherealize​(java.lang.Thread etherealizer)
      • etherealizeComplete

        public void etherealizeComplete()
      • incarnateComplete

        public void incarnateComplete()
      • incarnateFailure

        public void incarnateFailure()
      • enter

        public void enter()
      • exit

        public void exit()