abstract class Activity extends AnyRef
The entity defines the activity of an instance. This activity defines the
- the initial state
- effects of protocol messages
- change of state on storage events
def activity(injector: ImpureInjector, id: Id) = new Activity(injector) { val init = State(0) def protoHandler(ctx: ActorContext[Envelope], state: State) = { case storage: Storage => Handler.persist(storage) case _ => Handler.none } def storageHandler(state: State) = { case Inc(amount) => { State(state.value + amount) } case Dec(amount) => { State(state.value - amount) } case Set(value) => { State(value) } } }
- Attributes
- protected
- Grouped
- Alphabetic
- By Inheritance
- Activity
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Abstract Value Members
-
abstract
val
init: State
Initial state of the entity.
-
abstract
def
protoHandler(ctx: prelude.external.ActorContext[ServiceEntity.Envelope], state: State): (Proto) ⇒ Handler
See Handler$: Persisted events, IO effects, and stash/unstash for protocol messages.
See Handler$: Persisted events, IO effects, and stash/unstash for protocol messages.
All request messages implicitly receive a reply of the final
State
. -
abstract
def
storageHandler(state: State): (Storage) ⇒ State
State change given a storage event.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
val
config: Config
Configuration of the actor.
Configuration of the actor.
This is the full application config.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val injector: ImpureInjector
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- implicit val stateType: Manifest[State]
- implicit val storageDecoder: Decoder[Storage]
- implicit val storageEncoder: Encoder[Storage]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
glngn server is a low-code business process as a service rapid development system. Conceptually similar to a programmable Microsoft Access or Apple FileMaker for scalable event sourced business services. In addition to a library, a standalone application is provided that is useful with minimal ceremony. This can be customized with a simple API. As well as deployed to a kubernetes cluster should those advantages be required.
A deployment is cluster of glngn.server.node.AppNodes serving a dynamic composition of glngn.server.ServiceFragments. Deployments are designed to be fully usable as a standalone local application or a kubernetes service.
Contact support@dogheadbone.com for support and licensing.