Module dev.metaschema.core
Package dev.metaschema.core.metapath.item.node
package dev.metaschema.core.metapath.item.node
Node item types representing structured data in the Metapath type system.
This package provides interfaces and implementations for node items, which form tree-structured graphs representing both Metaschema models (module definitions) and data instances conforming to those models. Node items enable navigation and querying of hierarchical data using Metapath expressions.
Core node type interfaces include:
INodeItem- Base interface for all node itemsIDocumentNodeItem- Document root node representing a data instanceIAssemblyNodeItem- Assembly nodes containing nested structuresIFieldNodeItem- Field nodes containing values and flagsIFlagNodeItem- Flag nodes containing simple valuesIModuleNodeItem- Module definition nodes representing Metaschema schemas
Node items support:
- XPath-style navigation (parent, child, ancestor, descendant relationships)
- Document order traversal for predictable query results
- Access to typed values through
IAtomicValuedNodeItem - Visitor pattern traversal via
INodeItemVisitor - Factory-based creation through
INodeItemFactory
Node items integrate with Metaschema model definitions in
dev.metaschema.core.model, providing runtime representations that can
be queried using Metapath expressions. Each node maintains references to its
definition (schema-level metadata) and its position within the document tree.
-
ClassDescriptionA base implementation of a node item backed by a Metaschema definition.A
INodeItemsupported by aIFlagInstance.Represents a node item based on a global definition from a Metaschema.AbstractInstanceNodeItem<D extends IDefinition,I extends INamedInstance, P extends IModelNodeItem<? extends IModelDefinition, ? extends INamedInstance>> A base implementation of a node item backed by a Metaschema instance.A common base class for node item implementations.A base implementation of a node item factory that creates node items for Metaschema definitions and instances.AbstractNodeItemVisitor<CONTEXT,RESULT> Used by implementations of this class to visit a sequence of node items in a directed graph, using depth-first ordering.A base implementation of a node item for a Metaschema definition that exists without a parent context (orphaned).AbstractRecursionPreventingNodeItemVisitor<CONTEXT,RESULT> A node item visitor that prevents infinite recursion when traversing assembly nodes by detecting and avoiding cycles in the node hierarchy.Represents a Metapath assembly node item for a grouped assembly instance.A Metapath node valued item representing a Metaschema module assembly.Represents a Metapath node item that has an atomic value.A marker interface used to identify anIAssemblyNodeItemas the head of a cycle of item that loop back to the head.Represents a Metapath node item that is based on an underlying Metaschema module definition and instance.Represents a Metapath node item that is associated with a document.A node item that represents the root of a tree of nodes associated with a document resource.Represents a node item for a Metaschema model instance the is always a child of another item in the Metaschema model.This mixin interface indicates that the implementation is aINodeItemthat is based on anIModelDefinition.Provides an abstract implementation of a model that contains a collection of flags.This mixin interface indicates that the implementation is aINodeItemthat may have both flag and model children.Provides an abstract implementation of a lazy loaded model.A feature interface representing an atomic-valued item that has no associated value data.This feature interface represents an item that has no associated value data.A mixin interface used to identify that the implementation is aIDefinitionNodeItemthat is based on aIDefinitionthat is an orphan in it's hierarchy.A Metapath node valued item representing a Metaschema module field.A Metapath node valued item representing a Metaschema module flag.Represents a Metapath node item for a Metaschema model instance (assembly or field).Supports querying of global definitions and associated instances in a Metaschema module by effective name.Represents a Metapath model node.The type of node.This factory interface is used to createINodeItemobjects of various types.Generates child node items for Metapath node items.Marks a node item as visitable by aINodeItemVisitor.INodeItemVisitor<CONTEXT,RESULT> Provides a set of callbacks used when iterating over node items in a directed graph.A marker interface used to expose root node functionality for an assembly node that has root information.Provides methods for comparing nodes according to the Metapath specification.This enumeration provides a listing of the available kinds ofINodeItemimplementations.Analyzes a Metaschema module to identify assembly definitions that are recursive.Records information about an assembly definition, including whether it is recursive and where it is used.