Package com.abstratt.kirra
This reference implementation happens to use the Java language, but the intent is that it could be easily translated to other programming languages (or computing domains, such as network-oriented APIs).
The goal is that by detaching view technologies from model technologies, we can mix and match generic clients and domain-specific applications, no matter what particular technology (within and across language silos) for domain-driven development they are built on.
The generic object model
Business entity instances in the application are accessed via theInstance
class, which includes values for properties and optionally related/child instances.
Entity metadata is available via the Entity
class. Further metadata can be obtained via related objects, such as Property
, Relationship
, Operation
etc.
The InstanceManagement
API gives CRUD access to entity instances, including relationship traversal, and provides a mechanism for invoking operations (including actions and queries).
The SchemaManagement
API gives access to the schema of the application.
The Repository
merges both instance and schema-related features.
-
Interface Summary Interface Description AuthenticationManagement BehaviorScope DataScope A protocol for objects that providing a scope for data (properties).ExternalService Represents functionality that is external to the Kirra repository.InstanceManagement Basic protocol for managing entity instances.InstanceProtocol NameScope ParameterScope The protocol for things that can hold parameters (suchOperation
s).Repository This API allows manipulation of both entity data and metadata.SchemaBuilder Something that knows how to build a schema on-demand.SchemaManagement Provides access to various pieces of information about a schema.TypedNameScope -
Class Summary Class Description AuthorizationHandler Blob DataElement Entity An entity defines the type ofInstance
s that contains properties, relationships and behavior elements.EntityCapabilities Represents the capabilities for an entity (not its instances), its entity/static queries and entity/static actions.EnumerationLiteral In case aTypedElement
'sTypeRef.TypeKind
isTypeRef.TypeKind.Enumeration
, represents one possible value for theDataElement
.Helper Deprecated. Instance Represents an object and its relationships.InstanceCapabilities The capabilities available for a given instance.InstanceManagement.Page<T> InstanceManagement.PageRequest InstanceRef A typed reference to an instance.KirraApplication The Kirra application.NamedElement<O extends NameScope> Namespace A namespace allows grouping entities, services, tuple types under a common context.Operation Represents behavioral elements such as Actions and Queries.Parameter ParameterSet A parameter set ties multiple parameters together.Property Represents a property.Relationship A relationship connects two entities.Schema The schema for an application.SchemaManagementSnapshot An implementation ofSchemaManagement
that is based on a schema snapshot.Service A service is a collection of operations.SubElement<O extends NameScope> TopLevelElement Tuple Represents structured information.TupleType TypedElement<O extends NameScope> TypeRef A reference to a type. -
Enum Summary Enum Description InstanceManagement.DataProfile A full instance loads all values for all properties and relationships available in the data repository.KirraErrorCode KirraException.Kind Operation.OperationKind An operation can of many kinds.Parameter.Direction Parameter.Effect Relationship.Style The style of a relationship.TypeRef.TypeKind -
Exception Summary Exception Description KirraException