Module spiralcraft-core

The spiralcraft-core module contains the subsystems that manage the expression, composition and extension of more specialized functionality, a set of basic building blocks to be used with these subsystems to construct custom applications and frameworks, and a number of commonly used utilities.

Primary Subsystems

ELaine (spiralcraft.lang)

ELaine is an expression language that is used to wire components together and transform data as it flows through the system.

It provides a context based scoping mechanism that is used by application developers to publish and resolve references from a component's context within the hierarchical containership model that comprises an application.

ELaine is used throughout Spiralcraft applications to supply references and logic to application components, and can be a means for end users to customize application behavior (eg. use by "power users" to express filter conditions).

DALai (spiralcraft.data)

DALai is a Data Access Layer used to model domain types and manage data persistence and transport. It provides metadata to application components as a form of scaffolding to generate type-appropriate behavior.

DALai uses generic Tuple and Aggregate structures to represent domain objects, which can be abstract entities with explicitly defined types, or can be proxies to access foreign object models such as classes exposed by Java(tm) reflection or tables in a SQL database, where the metadata is implicitly derived from native forms.

Builder (spiralcraft.builder)

Builder provides a means to construct and configure application components from Java(tm) objects using composition, inheritance and dependency injection.

Builder artifacts are constructed and referenced directly via a fluent XML syntax, and are also referenced by mechanisms in DALai, ELaine, and other systems as the primary means of incorporating custom components.


VFS (spiralcraft.vfs)

The VFS (Virtual File System) provides a uniform interface into URI mapped resource collections that is used by most functionality that interacts with stream and file based resources to resolve code, metadata and content.

The VFS creates virtual URI spaces that can be mapped to physical resources in a context dependent manner, and contains facilities to actively manage these spaces where necessary to implement functionality such as replication and caching.

Secondary Subsystems