Foundgine

HomeDocumentationFoundationContracts

Contracts

Contents


Interfaces

Foundation defines the contracts implemented by generated code and consumed by Runtime.

Examples include:

IMetadataProvider

IPlannerRegistry

IEntityMaterializer

IEntityDematerializer

Runtime depends only upon these abstractions.


Planning

Planning primitives describe work that Runtime will execute.

Examples include:

QueryPlan

MutationPlan

Projection

Selection

JoinPlan

GraphPlan

Planning primitives are immutable.


Identifiers

Foundation defines strongly typed identifiers for generated artifacts.

Typical identifiers include:

EntityId

StorageEntityId

ModelId

FieldId

ColumnId

GraphId

Identifiers should be deterministic and generated at compile time.


Primitives

Primitives represent reusable framework concepts.

Examples:

SortDirection

FilterOperation

JoinType

RelationshipKind

MutationOperation

Primitives should remain stable over time.




← Previous: Metadata Next: Components