Interface IModuleNodeItem

All Superinterfaces:
ICollectionValue, IDocumentBasedNodeItem, IFeatureNoDataValuedItem, IItem, IMetapathQueryable, INodeItem, INodeItemVisitable, IPathSegment

public interface IModuleNodeItem extends IDocumentBasedNodeItem, IFeatureNoDataValuedItem
Supports querying of global definitions and associated instances in a Metaschema module by effective name.

All definitions in the IDefinition.ModuleScope.PUBLIC are visible. This allows the exported structure of the Metaschema module to be queried.

  • Method Details

    • type

      @NonNull static IItemType type()
      Get the static type information of the node item.
      Returns:
      the item type
    • getNodeType

      default INodeItem.NodeType getNodeType()
      Description copied from interface: INodeItem
      Get the node type for the node item.
      Specified by:
      getNodeType in interface INodeItem
      Returns:
      the node type
    • getType

      default IItemType getType()
      Description copied from interface: IItem
      Get the type information for the item.
      Specified by:
      getType in interface IItem
      Returns:
      the item's type information
    • getModule

      @NonNull IModule getModule()
      The Metaschema module this item is based on.
      Returns:
      the Metaschema module
    • getDocumentUri

      default URI getDocumentUri()
      Description copied from interface: IDocumentBasedNodeItem
      Get the URI associated with this document.
      Specified by:
      getDocumentUri in interface IDocumentBasedNodeItem
      Returns:
      the document's URI or null if unavailable
    • getNodeItemKind

      default NodeItemKind getNodeItemKind()
      Description copied from interface: INodeItem
      Get the kind of node item this is.
      Specified by:
      getNodeItemKind in interface INodeItem
      Returns:
      the node item's kind
    • getNodeItem

      default IModuleNodeItem getNodeItem()
      Description copied from interface: IPathSegment
      Get the value associated with the path segment.
      Specified by:
      getNodeItem in interface IMetapathQueryable
      Specified by:
      getNodeItem in interface IPathSegment
      Returns:
      the value or null if no value is associated with this path segment
    • format

      default String format(@NonNull IPathFormatter formatter)
      Description copied from interface: INodeItem
      Generate a path for this node in the directed node graph, using the provided path formatter.
      Specified by:
      format in interface INodeItem
      Specified by:
      format in interface IPathSegment
      Parameters:
      formatter - the path formatter
      Returns:
      a textual representation of the path segment
    • accept

      default <CONTEXT, RESULT> RESULT accept(@NonNull INodeItemVisitor<CONTEXT,RESULT> visitor, CONTEXT context)
      Description copied from interface: INodeItemVisitable
      A visitor callback.
      Specified by:
      accept in interface INodeItemVisitable
      Type Parameters:
      CONTEXT - the type of the context parameter
      RESULT - the type of the visitor result
      Parameters:
      visitor - the calling visitor
      context - a parameter used to pass contextual information between visitors
      Returns:
      the visitor result
    • getStaticContext

      default StaticContext getStaticContext()
      Description copied from interface: INodeItem
      Get the static context to use to query this node item.
      Specified by:
      getStaticContext in interface INodeItem
      Returns:
      the static context
    • deepEquals

      default boolean deepEquals(ICollectionValue other, DynamicContext dynamicContext)
      Description copied from interface: ICollectionValue
      Determine if this and the other value are deeply equal.

      Item equality is defined by the XPath 3.1 fn:deep-equal specification.

      Specified by:
      deepEquals in interface ICollectionValue
      Parameters:
      other - the other value to compare to this value to
      dynamicContext - used to provide evaluation information, including the implicit timezone
      Returns:
      the true if the two values are equal, or false otherwise