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 modelBusiness entity instances in the application are accessed via the
Instanceclass, which includes values for properties and optionally related/child instances.
InstanceManagement API gives CRUD access to entity instances, including relationship traversal, and provides a mechanism for invoking operations (including actions and queries).
SchemaManagement API gives access to the schema of the application.
Repository merges both instance and schema-related features.
Interface Summary Interface Description AuthenticationManagement BehaviorScope DataScopeA protocol for objects that providing a scope for data (properties). ExternalServiceRepresents functionality that is external to the Kirra repository. InstanceManagementBasic protocol for managing entity instances. InstanceProtocol NameScope ParameterScopeThe protocol for things that can hold parameters (such
RepositoryThis API allows manipulation of both entity data and metadata. SchemaBuilderSomething that knows how to build a schema on-demand. SchemaManagementProvides access to various pieces of information about a schema. TypedNameScope
Class Summary Class Description AuthorizationHandler Blob DataElement EntityAn entity defines the type of
Instances that contains properties, relationships and behavior elements.
EntityCapabilitiesRepresents the capabilities for an entity (not its instances), its entity/static queries and entity/static actions. EnumerationLiteral Helper Deprecated. InstanceRepresents an object and its relationships. InstanceCapabilitiesThe capabilities available for a given instance. InstanceManagement.Page<T> InstanceManagement.PageRequest InstanceRefA typed reference to an instance. KirraApplicationThe Kirra application. NamedElement<O extends NameScope> NamespaceA namespace allows grouping entities, services, tuple types under a common context. OperationRepresents behavioral elements such as Actions and Queries. Parameter ParameterSetA parameter set ties multiple parameters together. PropertyRepresents a property. RelationshipA relationship connects two entities. SchemaThe schema for an application. SchemaManagementSnapshotAn implementation of
SchemaManagementthat is based on a schema snapshot.
ServiceA service is a collection of operations. SubElement<O extends NameScope> TopLevelElement TupleRepresents structured information. TupleType TypedElement<O extends NameScope> TypeRefA reference to a type.
Enum Summary Enum Description InstanceManagement.DataProfileA full instance loads all values for all properties and relationships available in the data repository. KirraErrorCode KirraException.Kind Operation.OperationKindAn operation can of many kinds. Parameter.Direction Parameter.Effect Relationship.StyleThe style of a relationship. TypeRef.TypeKind
Exception Summary Exception Description KirraException