Module com.s8.api

Class RepoS8Object

java.lang.Object
com.s8.api.flow.repository.objects.RepoS8Object

public class RepoS8Object extends Object

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 Details

    • REF

      public static final long REF
      (System)
      See Also:
    • S8_id

      public String S8_id
      DO NOT USE THIS FIELD: S8 SYSTEM ONLY. This index acts as an internal identifier and is automatically assigned at commit time.
    • S8_spin

      public boolean S8_spin
      DO NOT USE THIS FIELD: S8 SYSTEM ONLY. spin for fast graph exploration.
    • S8_vertex

      public RepoS8Vertex S8_vertex
      Object listeners
  • Constructor Details

    • RepoS8Object

      public RepoS8Object()
      Main constructor. Perform initial binding of object with vertex, vertex itself being bound to its shell