SpacesDB
com.s8.meta.api.flow.space
A space is a shell around an object graph: logical unit, synchronization unit, storage unit, version unit, encapsulation. Unpinned leaves are transient; nodes that extend SpaceS8Object are the graph the runtime tracks.
Instance methods
- createSpace(request)
- Create with an id and an exposure array. CreateSpaceS8Response createSpace(CreateSpaceS8Request)
- exposeSpace(request)
- Change what a space exposes. ExposeSpaceS8Response exposeSpace(ExposeSpaceS8Request)
- accessSpace(request)
- Open a space; on OK,
objectsis the exposure. AccessSpaceS8Response accessSpace(AccessSpaceS8Request)
SpaceS8Object / SpaceS8Vertex
Base space object holds S8_vertex. Report field updates with reportFieldUpdate / reportChange(fieldName) so the graph can dirty-track.
Example
SpacesDB spaces = flow.spaces();
spaces.createSpace(new CreateSpaceS8Request(
"space/ada", new SpaceS8Object[]{ root }));
AccessSpaceS8Response res =
spaces.accessSpace(new AccessSpaceS8Request("space/ada", true));
if (res.status == AccessSpaceS8Response.Status.OK) {
Object[] exposed = res.objects;
}
Intent One space ≈ one project, one user workspace, one document. Keep the graph together; do not explode it into unrelated tables.