libSmalldb  v2.0.2
Namespaces | Classes | Functions | Variables
Smalldb\​StateMachine Namespace Reference

Description

The StateMachine namespace.

Implementation of Smalldb state machine, the nondeterministic parametric finite automaton.

Namespaces

 AccessControlExtension
 The AccessControlExtension namespace.
 
 Annotation
 The Annotation namespace.
 
 BpmnExtension
 The BpmnExtension namespace.
 
 ClassGenerator
 The ClassGenerator namespace.
 
 Definition
 The Definition namespace.
 
 DoctrineExtension
 The DoctrineExtension namespace.
 
 DtoExtension
 
 GraphMLExtension
 The GraphMLExtension namespace.
 
 Provider
 The Provider namespace.
 
 ReferenceDataSource
 The ReferenceDataSource namespace.
 
 SourcesExtension
 
 SqlExtension
 The SqlExtension namespace.
 
 StyleExtension
 
 SymfonyDI
 The SymfonyDI namespace.
 
 Transition
 The Transition namespace.
 
 Utils
 The Utils namespace.
 

Classes

class  AbstractSmalldbRepository
 
interface  DebugLoggerInterface
 
class  InvalidArgumentException
 Wrong data passed to state machine. More...
 
class  LogicException
 
interface  MachineIdentifierInterface
 
interface  ReferenceInterface
 
class  RuntimeException
 Something went wrong in state machine. More...
 
class  Smalldb
 The libSmalldb entry point. More...
 
class  SmalldbDefinitionBag
 
interface  SmalldbDefinitionBagInterface
 
class  SmalldbDefinitionBagReader
 
interface  SmalldbRepositoryInterface
 

Functions

 getMachineProvider ()
 Lazy-load the provider from Smalldb. More...
 
 getDataSource ()
 
 __construct (Smalldb $smalldb, ?SmalldbProviderInterface $machineProvider, ReferenceDataSourceInterface $dataSource, $id=null)
 Create a reference and initialize it with a given ID. More...
 
 getSmalldb ()
 
 getDefinition ()
 Get state machine definition. More...
 
 getMachineType ()
 Get machine type. More...
 
 isTransitionAllowed (string $transitionName)
 
 invokeTransition (string $transitionName,... $args)
 Invoke transition of the state machine. More...
 
 get (string $propertyName)
 Retrieve a property value by name of the property. More...
 

Variables

trait ReferenceProtectedAPI
 Protected API of a Reference objects. More...
 
trait ReferenceTrait
 Trait ReferenceTrait. More...
 

Function Documentation

◆ getMachineProvider()

getMachineProvider ( )
finalabstractprotected

Lazy-load the provider from Smalldb.

◆ getDataSource()

getDataSource ( )
finalabstractprotected

◆ __construct()

Smalldb\StateMachine\__construct ( Smalldb  $smalldb,
?SmalldbProviderInterface  $machineProvider,
ReferenceDataSourceInterface  $dataSource,
  $id = null 
)
final

Create a reference and initialize it with a given ID.

To copy a reference use the clone keyword.

Parameters
%Smalldb$smalldb
SmalldbProviderInterface | null$machineProvider
ReferenceDataSourceInterface$dataSource
$id

◆ getSmalldb()

Smalldb\StateMachine\getSmalldb ( )
finalprotected

◆ getDefinition()

Smalldb\StateMachine\getDefinition ( )
final

Get state machine definition.

◆ getMachineType()

Smalldb\StateMachine\getMachineType ( )

Get machine type.

ReferenceClassGenerator overrides the getDefinition() call with a constant.

◆ isTransitionAllowed()

Smalldb\StateMachine\isTransitionAllowed ( string  $transitionName)
final

◆ invokeTransition()

Smalldb\StateMachine\invokeTransition ( string  $transitionName,
  $args 
)
final

Invoke transition of the state machine.

◆ get()

Smalldb\StateMachine\get ( string  $propertyName)

Retrieve a property value by name of the property.

ReferenceClassGenerator overrides this method with an optimized implementation.

Variable Documentation

◆ ReferenceProtectedAPI

trait ReferenceProtectedAPI
Initial value:
{
abstract protected function getSmalldb(): Smalldb
getSmalldb()
Definition: ReferenceTrait.php:68
State Machine Abstraction Layer.

Protected API of a Reference objects.

Use this trait in the abstract state machine definition classes to gain access to the protected methods implemented by Smalldb.

Do not use ReferenceTrait directly; it may damage your definitions.

◆ ReferenceTrait

trait ReferenceTrait
Initial value:
{
private %Smalldb $smalldb
State Machine Abstraction Layer.

Trait ReferenceTrait.