Interface Metadata

All Known Subinterfaces:
ChoiceMetadata, ComplexElementMetadata, ElementMetadata, ModelGroupMetadata, SequenceMetadata, SimpleElementMetadata, TermMetadata

public interface Metadata
This is the supportable API for access to the RuntimeData structures which provide access to static information about a given compiled schema metadata object.

This is used to interface other data processing fabrics to Daffodil data and metadata, by mapping to/from these metadata objects.

  • Method Details

    • schemaFileInfo

      String schemaFileInfo()
      Provides the file context of a metadata component. This refers to the specific DFDL schema file where the corresponding DFDL schema text resides corresponding to this metadata object.

      This is for use in diagnostic messaging. It is not the actual file URI, because those may contain personal-identifying information about the person/acccount and system that compiled the schema. It will provide enough content about the file URI that a user will be able to identify which file, but some prefix of the path components trimmed to make it of a manageable length.

      Used along with `schemaFileLineNumber` and `schemaFileLineColumnNumber` this can give a precise location in the DFDL schema file.

      Returns:
      a string containing the file information, or null if unknown.
    • schemaFileLineNumber

      Long schemaFileLineNumber()
      Provides the line number to go with `schemaFileInfo`.
      Returns:
      the line number as a string, or null if unknown.
    • schemaFileLineColumnNumber

      Long schemaFileLineColumnNumber()
      Provides the column number within the text line, to go with `schemaFileLineNumber`.
      Returns:
      the column number within the text line, as a string, or null if unknown.
    • diagnosticDebugName

      String diagnosticDebugName()
      The name of the schema component, in a form suitable for diagnostic messages. Unnamed components like sequence or choice groups have a diagnosticDebugName, despite not having any actual name.
      Returns:
      the name of the component, suitable for use in diagnostic messages.