Module dev.metaschema.core
Package dev.metaschema.core.model
package dev.metaschema.core.model
Core Metaschema model interfaces and implementations.
This package defines the fundamental object model for Metaschema modules, including definitions (assemblies, fields, flags), instances, and their relationships. It provides both the API contracts and abstract base implementations for representing Metaschema structures.
Key Interfaces
IModule- Represents a Metaschema module containing definitionsIAssemblyDefinition- Defines a complex assembly structureIFieldDefinition- Defines a field with optional value and flagsIFlagDefinition- Defines a flag (simple name-value pair)IModelInstance- Represents an instance of a definition within a modelIContainerModel- Represents a container that can hold model instances
Usage Context
This package is used by:
- Metaschema module loaders to construct in-memory representations of modules
- Databinding implementations to map between Java objects and Metaschema structures
- Code generators to produce Java classes from Metaschema definitions
- Validation and constraint processing to enforce structural rules
-
ClassDescriptionAbstractAssemblyInstance<PARENT extends IContainerModel,
DEFINITION extends IAssemblyDefinition, INSTANCE extends IAssemblyInstance, PARENT_DEFINITION extends IAssemblyDefinition> A base class for an assembly that is a member of a containing model.AbstractChoiceGroupInstance<PARENT extends IAssemblyDefinition,NAMED_MODEL extends INamedModelInstanceGrouped, FIELD extends IFieldInstanceGrouped, ASSEMBLY extends IAssemblyInstanceGrouped> A base class for a choice group that is a member of a containing model.AbstractChoiceInstance<PARENT extends IAssemblyDefinition,MODEL extends IModelInstanceAbsolute, NAMED_MODEL extends INamedModelInstanceAbsolute, FIELD extends IFieldInstanceAbsolute, ASSEMBLY extends IAssemblyInstanceAbsolute> A base class for a choice that is a member of a containing model.AbstractContainerModelSupport<MI extends IModelInstance,NMI extends INamedModelInstance, FI extends IFieldInstance, AI extends IAssemblyInstance> Supports model instance operations on assembly model instances.AbstractFieldInstance<PARENT extends IContainerModel,DEFINITION extends IFieldDefinition, INSTANCE extends IFieldInstance, PARENT_DEFINITION extends IAssemblyDefinition> A base class for a field that is a member of a containing model.AbstractFlagInstance<PARENT extends IModelDefinition,DEFINITION extends IFlagDefinition, INSTANCE extends IFlagInstance> A base class for a flag that is a member of a containing model.AbstractGlobalAssemblyDefinition<MODULE extends IModule,INSTANCE extends IAssemblyInstance, FLAG extends IFlagInstance, MODEL extends IModelInstanceAbsolute, NAMED_MODEL extends INamedModelInstanceAbsolute, FIELD extends IFieldInstanceAbsolute, ASSEMBLY extends IAssemblyInstanceAbsolute, CHOICE extends IChoiceInstance, CHOICE_GROUP extends IChoiceGroupInstance> A base class for an assembly definition defined globally within a Metaschema module.A base class for definitions defined globally within a Metaschema module.Provides a callback for generating a qualified name from a name.AbstractGlobalFieldDefinition<MODULE extends IModule,INSTANCE extends IFieldInstance, FLAG extends IFlagInstance> A base class for a field definition defined globally within a Metaschema module.A base class for a flag definition defined globally within a Metaschema module.AbstractInlineAssemblyDefinition<PARENT extends IContainerModel,DEFINITION extends IAssemblyDefinition, INSTANCE extends IAssemblyInstance, PARENT_DEFINITION extends IAssemblyDefinition, FLAG extends IFlagInstance, MODEL extends IModelInstanceAbsolute, NAMED_MODEL extends INamedModelInstanceAbsolute, FIELD extends IFieldInstanceAbsolute, ASSEMBLY extends IAssemblyInstanceAbsolute, CHOICE extends IChoiceInstance, CHOICE_GROUP extends IChoiceGroupInstance> A base class for an assembly instance defined inline.AbstractInlineFieldDefinition<PARENT extends IContainerModel,DEFINITION extends IFieldDefinition, INSTANCE extends IFieldInstance, PARENT_DEFINITION extends IAssemblyDefinition, FLAG extends IFlagInstance> A base class for an assembly instance defined inline.AbstractInlineFlagDefinition<PARENT extends IModelDefinition,DEFINITION extends IFlagDefinition, INSTANCE extends IFlagInstance> A base class for an assembly instance defined inline.AbstractInstance<P extends IContainer>Base implementation ofIInstanceproviding parent container management.Base implementation ofILoaderproviding resource loading with caching and cycle detection.AbstractModelElementVisitor<CONTEXT,RESULT> Provides a set of callbacks used when iterating over model elements in a directed graph.AbstractModule<M extends IModuleExtended<M,D, FL, FI, A>, D extends IModelDefinition, FL extends IFlagDefinition, FI extends IFieldDefinition, A extends IAssemblyDefinition> Provides a common, abstract implementation of aIModule.AbstractModuleLoader<T,M extends IModuleExtended<M, ?, ?, ?, ?>> Provides methods to load a Metaschema expressed in XML.AbstractNamedInstance<PARENT extends IContainer>Base implementation ofINamedInstanceproviding qualified name management.AbstractNamedModelInstance<PARENT extends IContainerModel,PARENT_DEFINITION extends IAssemblyDefinition> A base class for name members of a containing model.Base implementation ofIResourceResolverproviding URI resolution support.DefaultAssemblyModelBuilder<MI extends IModelInstance,NMI extends INamedModelInstance, FI extends IFieldInstance, AI extends IAssemblyInstance, CI extends IChoiceInstance, CGI extends IChoiceGroupInstance> An assembly model builder.DefaultChoiceGroupModelBuilder<NMI extends INamedModelInstance,FI extends IFieldInstance, AI extends IAssemblyInstance> A choice group model builder.DefaultChoiceModelBuilder<MI extends IModelInstance,NMI extends INamedModelInstance, FI extends IFieldInstance, AI extends IAssemblyInstance> A choice model builder.Supports walking a portion of a metaschema model collecting a set of definitions that match the provided filter.FlagContainerBuilder<T extends IFlagInstance>Default implementation ofIFlagContainerBuilder.A marker interface for an information element that is an assembly model type.Represents an assembly definition in a Metaschema module.Represents an assembly instance within another assembly definition.Represents an assembly instance that appears directly within an assembly definition.Represents an assembly instance that appears within a choice or other grouping construct.A marker interface for implementations that supports the mapping of a namespace valued key to a set of values.Represents a property key based on a name and a namespace.A common interface found bound objects that have a complex model consisting of flags, fields, or assemblies.An Metaschema model instance representing a grouped set of objects consisting of heterogeneous object types.A marker interface for a choice of allowed instances in a Metachema.Provides loading capabilities for Metaschema constraint sets.Represents a model element that can contain child instances.IContainerFlagSupport<FI extends IFlagInstance>Provides support for managing the flag contents of aIModelDefinition.Indicates that the Metaschema type that has a complex model that can contain field and assembly instances.Represents a model container with absolute (non-grouped) instances.Represents a model container for assembly definitions.IContainerModelAssemblySupport<MI extends IModelInstance,NMI extends INamedModelInstance, FI extends IFieldInstance, AI extends IAssemblyInstance, CI extends IChoiceInstance, CGI extends IChoiceGroupInstance> Common interface for model container support classes.Represents a model container with grouped instances.IContainerModelSupport<MI extends IModelInstance,NMI extends INamedModelInstance, FI extends IFieldInstance, AI extends IAssemblyInstance> Common interface for model container support classes.A marker interface for Metaschema constructs that can have a default value.Represents a definition of a flag, field, or assembly in a Metaschema module.Describes the visibility of a definition to other modules.Represents a model element that has a formal name and description.IFeatureContainerFlag<FI extends IFlagInstance>Represents a definition that may contain flags.IFeatureContainerModelAbsolute<MI extends IModelInstanceAbsolute,NMI extends INamedModelInstanceAbsolute, FI extends IFieldInstanceAbsolute, AI extends IAssemblyInstanceAbsolute> Common interface for model container support classes.IFeatureContainerModelAssembly<MI extends IModelInstanceAbsolute,NMI extends INamedModelInstanceAbsolute, FI extends IFieldInstanceAbsolute, AI extends IAssemblyInstanceAbsolute, CI extends IChoiceInstance, CGI extends IChoiceGroupInstance> Provides assembly-specific container model functionality through delegation.IFeatureContainerModelGrouped<NMI extends INamedModelInstanceGrouped,FI extends IFieldInstanceGrouped, AI extends IAssemblyInstanceGrouped> Provides grouped container model functionality through delegation.A trait indicating that the implementation is a localized definition that is declared in-line as an instance.Represents an instance that references a definition.Represents an instance that has no value.A marker interface for an information element that is a field model type.Represents a field definition in a Metaschema module.Represents a field instance within an assembly definition.Represents a field instance that appears directly within an assembly definition.Represents a field instance that appears within a choice or other grouping construct.A marker interface for an information element that is an flag model type.IFlagContainerBuilder<T extends IFlagInstance>Builder for constructing flag container instances.Represents a flag definition in a Metaschema module.Represents a flag instance within a field or assembly definition.This behavioral interface represents an instance that supports grouped values.This marker interface indicates that this object is an instance.Represents an instance with an absolute path and an associated value.Represents a model instance that has a JSON property name.Represents a model element that has a JSON property name.ILoader<T>Provides loading capabilities for resources of typeT.Represents a model element that can be queried using Metapath expressions.Represents data associated with a Metaschema module.IMetaschemaModule<SELF extends IMetaschemaModule<SELF>>Represents a loaded Metaschema module.Represents a Metaschema definition for a complex object that may contain flags.A marker interface for Metaschema constructs that can be members of a Metaschema definition's model.Represents a model element that can be visited using the visitor pattern.IModelElementVisitor<CONTEXT,RESULT> Provides a set of callbacks used when iterating over node items in a directed graph.This marker interface is used to identify a field or assembly instance that is a member of an assembly's model.Represents a model instance with an absolute path and an associated value.Represents a Metaschema module.IModuleExtended<M extends IModuleExtended<M,D, FL, FI, A>, D extends IModelDefinition, FL extends IFlagDefinition, FI extends IFieldDefinition, A extends IAssemblyDefinition> The API for accessing information about a given Metaschema module.Provides loading capabilities for Metaschema modules.Used to define a post-processing operation to perform on a module.Represents a model element that has a name and associated naming properties.This marker interface indicates that the instance has a flag, field, or assembly name associated with it which will be used in JSON/YAML or XML to identify the data.A marker interface for Metaschema constructs that can be members of a Metaschema module's model that have a name and other identifying characteristics.Represents a named instance of a field or assembly within a model.Represents a named model instance with absolute positioning and JSON serialization support.Represents an arbitrary grouping of Metaschema model instances.Represents a location within a resource.A common interface for implementation classes that load data resources.A descriptor that identifies where a given constraint was defined.The relative location of the source.Provides URI resolution capabilities for Metaschema resources.A marker interface for Metaschema constructs that can have a value.This marker interface identifies Metaschema definition types that have associated values (i.e., field, flag).Represents a Metaschema instance that has an associated value (i.e., field or flag instance).Defines how repeated instances are grouped in JSON/YAML representations.Defines the type of JSON value key used to identify data values.Indicates an error related to Metaschema processing.Provides commonly used QName constants for Metaschema model elements.Identifies that an unexpected error occurred while initializing or using a Metaschema-based model.An enumeration that identifies the type of a Metaschema construct.ModelWalker<DATA>Walks a Metaschema model.A simple implementation ofIMetaschemaDatathat stores location information from various parser sources.This model walker can be used to gather metaschema definitions that are defined globally.Defines how repeated instances are grouped in XML representations.