Interface IBoundDefinitionModelFieldComplex

All Superinterfaces:
dev.metaschema.core.model.IAttributable, IBoundDefinition, IBoundDefinitionModel<dev.metaschema.core.model.IBoundObject>, IBoundDefinitionModelComplex, IBoundDefinitionModelField<dev.metaschema.core.model.IBoundObject>, IBoundModelElement, IBoundModelObject<dev.metaschema.core.model.IBoundObject>, dev.metaschema.core.model.IContainer, dev.metaschema.core.model.IDefaultable, dev.metaschema.core.model.IDefinition, dev.metaschema.core.model.IDescribable, IFeatureComplexItemValueHandler, dev.metaschema.core.model.IFeatureContainerFlag<IBoundInstanceFlag>, dev.metaschema.core.model.constraint.IFeatureValueConstrained, dev.metaschema.core.model.IField, dev.metaschema.core.model.IFieldDefinition, IItemValueHandler<dev.metaschema.core.model.IBoundObject>, dev.metaschema.core.model.IJsonNamed, dev.metaschema.core.model.IModelDefinition, dev.metaschema.core.model.IModelElement, dev.metaschema.core.model.IModelElementVisitable, dev.metaschema.core.model.INamed, dev.metaschema.core.model.INamedModelElement, dev.metaschema.core.model.constraint.IValueConstrained, dev.metaschema.core.model.IValuedDefinition

public interface IBoundDefinitionModelFieldComplex extends IBoundDefinitionModelField<dev.metaschema.core.model.IBoundObject>, IBoundDefinitionModelComplex
Represents a field definition bound to a Java class.

This definition is considered "complex", since it is bound to a Java class.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface dev.metaschema.core.model.IAttributable

    dev.metaschema.core.model.IAttributable.Key

    Nested classes/interfaces inherited from interface dev.metaschema.core.model.IDefinition

    dev.metaschema.core.model.IDefinition.ModuleScope
  • Field Summary

    Fields inherited from interface dev.metaschema.core.model.IAttributable

    DEFAULT_PROPERY_NAMESPACE

    Fields inherited from interface dev.metaschema.core.model.IDefinition

    DEFAULT_MODULE_SCOPE
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    canHandleXmlQName(dev.metaschema.core.qname.IEnhancedQName qname)
    Determine if the provided XML qualified name is associated with this property.
    default Object
     
    Get the Metaschema definition representing the bound complex data.
    Get the bound field value associated with this field.
    default Object
     
    default dev.metaschema.core.datatype.IDataTypeAdapter<?>
     
    Get a mapping of JSON property names to their corresponding bound properties.
    default String
     
    default dev.metaschema.core.model.IBoundObject
    readItem(dev.metaschema.core.model.IBoundObject parent, IItemReadHandler handler)
    Parse and return an item.
    default void
    writeItem(dev.metaschema.core.model.IBoundObject item, IItemWriteHandler handler)
    Write the provided item.

    Methods inherited from interface dev.metaschema.core.model.IAttributable

    getProperties, getPropertyValues, hasProperty, hasPropertyValue

    Methods inherited from interface dev.metaschema.databind.model.IBoundDefinitionModel

    getBindingContext, getInlineInstance

    Methods inherited from interface dev.metaschema.databind.model.IBoundDefinitionModelField

    getInlineInstance, getJsonValueKeyFlagInstance

    Methods inherited from interface dev.metaschema.databind.model.IBoundModelElement

    getContainingModule

    Methods inherited from interface dev.metaschema.core.model.IDefaultable

    getEffectiveDefaultValue, getResolvedDefaultValue

    Methods inherited from interface dev.metaschema.core.model.IDefinition

    getDefinitionQName, getLocation, getModuleScope, toCoordinates

    Methods inherited from interface dev.metaschema.core.model.IDescribable

    getDescription, getEffectiveDescription, getEffectiveFormalName, getFormalName

    Methods inherited from interface dev.metaschema.databind.model.info.IFeatureComplexItemValueHandler

    deepCopyItem, getBoundClass, getJsonProperties, newInstance

    Methods inherited from interface dev.metaschema.core.model.IFeatureContainerFlag

    getFlagContainer, getFlagInstanceByName, getFlagInstances, getJsonKey

    Methods inherited from interface dev.metaschema.core.model.constraint.IFeatureValueConstrained

    addConstraint, addConstraint, addConstraint, addConstraint, addConstraint, addLetExpression, getAllowedValuesConstraints, getConstraints, getConstraintSupport, getExpectConstraints, getIndexHasKeyConstraints, getLetExpressions, getMatchesConstraints, getReportConstraints

    Methods inherited from interface dev.metaschema.core.model.IField

    getModelType

    Methods inherited from interface dev.metaschema.core.model.IFieldDefinition

    accept, getEffectiveJsonValueKeyName, getJsonValueKey, hasJsonValueKeyFlagInstance, isInline

    Methods inherited from interface dev.metaschema.core.model.IModelDefinition

    hasChildren

    Methods inherited from interface dev.metaschema.core.model.IModelElement

    getRemarks

    Methods inherited from interface dev.metaschema.core.model.INamed

    getEffectiveIndex, getEffectiveName, getIndex, getName, getQName, getUseIndex, getUseName

    Methods inherited from interface dev.metaschema.core.model.INamedModelElement

    getJsonName

    Methods inherited from interface dev.metaschema.core.model.constraint.IValueConstrained

    getSource
  • Method Details

    • getDefinition

      Description copied from interface: IFeatureComplexItemValueHandler
      Get the Metaschema definition representing the bound complex data.
      Specified by:
      getDefinition in interface IFeatureComplexItemValueHandler
      Returns:
      the definition
    • getDefaultValue

      Specified by:
      getDefaultValue in interface dev.metaschema.core.model.IDefaultable
    • getFieldValue

      Get the bound field value associated with this field.
      Returns:
      the field's value binding
    • getFieldValue

      @NonNull default Object getFieldValue(@NonNull Object item)
      Specified by:
      getFieldValue in interface dev.metaschema.core.model.IFieldDefinition
    • getJsonValueKeyName

      @NonNull default String getJsonValueKeyName()
      Specified by:
      getJsonValueKeyName in interface dev.metaschema.core.model.IFieldDefinition
    • getJavaTypeAdapter

      @NonNull default dev.metaschema.core.datatype.IDataTypeAdapter<?> getJavaTypeAdapter()
      Specified by:
      getJavaTypeAdapter in interface dev.metaschema.core.model.IValuedDefinition
    • getJsonProperties

      @NonNull default Map<String,IBoundProperty<?>> getJsonProperties(@Nullable Predicate<IBoundInstanceFlag> flagFilter)
      Description copied from interface: IBoundDefinitionModelComplex
      Get a mapping of JSON property names to their corresponding bound properties.
      Specified by:
      getJsonProperties in interface IBoundDefinitionModelComplex
      Parameters:
      flagFilter - a predicate to filter which flag instances to include, or null to include all flags
      Returns:
      a map of property names to bound properties
    • readItem

      @NonNull default dev.metaschema.core.model.IBoundObject readItem(dev.metaschema.core.model.IBoundObject parent, IItemReadHandler handler) throws IOException
      Description copied from interface: IItemValueHandler
      Parse and return an item.
      Specified by:
      readItem in interface IItemValueHandler<dev.metaschema.core.model.IBoundObject>
      Parameters:
      parent - the parent Java object to use for serialization callbacks, or null if there is no parent
      handler - the item parsing handler
      Returns:
      the Java object representing the parsed item
      Throws:
      IOException - if an error occurred while parsing
    • writeItem

      default void writeItem(dev.metaschema.core.model.IBoundObject item, IItemWriteHandler handler) throws IOException
      Description copied from interface: IItemValueHandler
      Write the provided item.
      Specified by:
      writeItem in interface IItemValueHandler<dev.metaschema.core.model.IBoundObject>
      Parameters:
      item - the data to write
      handler - the item writing handler
      Throws:
      IOException - if an error occurred while writing
    • canHandleXmlQName

      default boolean canHandleXmlQName(dev.metaschema.core.qname.IEnhancedQName qname)
      Description copied from interface: IBoundModelObject
      Determine if the provided XML qualified name is associated with this property.
      Specified by:
      canHandleXmlQName in interface IBoundModelObject<dev.metaschema.core.model.IBoundObject>
      Parameters:
      qname - the XML qualified name of the property being parsed
      Returns:
      true if the instance will handle this name, or false otherwise