java.lang.Object
com.s8.api.flow.space.objects.SpaceS8Object
S8Shell
represents an enclosure of a graph of S8Object. This
shell has multiple role:
- #1 LOGICAL UNIT: It defines a logical unit from the application logic point of view
- #2 SYNCHRONIZATION: It is the primary scope of lock enabling async processes
- #3 STORAGE UNIT: It acts a persistency bucket (and therefore must be considered the main element to understand the latency of the application implementation.)
- #4 VERSION UNIT: It is the key building block for substitution pattern, that acts as a repository state.
- #5 ENCAPSULATION: It is the primary encapsulation control unit. Note that we cannot access (from a logical point of view the inner nodes of the graph encapsulated by the shell, unless they are specifically designated as logical ports of the shell.
Note that S8object
objects used as logical ports SHOULD refer
the shell (typically as a field).
Unpinned object applications:
- transient: object created on the fly that don't need any S8Shell handling and management
- private: none of
S8Struct
object method are exposed for direct request - managed: acess control is non-existent (for access control, upgrade to
S8Object
- leaves: typical used as leaves of a tree which nodes are
S8Object
- Author:
- Pierre Convert Copyright (C) 2025, Pierre Convert. All rights reserved.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final long
UtilityObject listeners -
Constructor Summary
ConstructorsConstructorDescriptionPerform initial binding of object with vertex, vertex itself being bound to its shell -
Method Summary
Modifier and TypeMethodDescriptionvoid
reportFieldUpdate
(String fieldName) Report an update for a fieldvoid
reportFieldUpdates
(String... fieldNames) Report an update for many fields
-
Field Details
-
REF
public static final long REFUtility- See Also:
-
S8_vertex
Object listeners
-
-
Constructor Details
-
SpaceS8Object
public SpaceS8Object()Perform initial binding of object with vertex, vertex itself being bound to its shell
-
-
Method Details
-
reportFieldUpdate
Report an update for a field- Parameters:
fieldName
- the name of the field fo which an update is to be reported- Throws:
S8IOException
- the exception raised while reporting
-
reportFieldUpdates
Report an update for many fields- Parameters:
fieldNames
- the name of the fields fo which updates are to be reported- Throws:
S8IOException
- the exception raised while reporting
-