Interface IBoundDefinitionModelComplex

All Superinterfaces:
dev.metaschema.core.model.IAttributable, IBoundDefinition, IBoundDefinitionModel<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, 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
All Known Subinterfaces:
IBoundDefinitionModelAssembly, IBoundDefinitionModelFieldComplex

public interface IBoundDefinitionModelComplex extends IBoundDefinitionModel<dev.metaschema.core.model.IBoundObject>, IFeatureComplexItemValueHandler
Represents a field or assembly instance bound to 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 void
    callAfterDeserialize(dev.metaschema.core.model.IBoundObject targetObject, dev.metaschema.core.model.IBoundObject parentObject)
    Calls the method named "afterDeserialize" on each class in the object's hierarchy if the method exists.
    default void
    callBeforeDeserialize(dev.metaschema.core.model.IBoundObject targetObject, dev.metaschema.core.model.IBoundObject parentObject)
    Calls the method named "beforeDeserialize" on each class in the object's hierarchy if the method exists on the class.
    Get the "afterDeserialize" method for this bound class, if one exists.
    Get the "beforeDeserialize" method for this bound class, if one exists.
    Get a mapping of JSON property names to their corresponding bound properties.

    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.IBoundModelElement

    getContainingModule

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

    canHandleXmlQName

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

    getDefaultValue, getEffectiveDefaultValue, getResolvedDefaultValue

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

    getDefinitionQName, getLocation, getModuleScope, isInline, 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, getDefinition, 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.databind.model.info.IItemValueHandler

    readItem, writeItem

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

    hasChildren

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

    getModelType, getRemarks

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

    accept

    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

    • getJsonProperties

      Get a mapping of JSON property names to their corresponding bound properties.
      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
    • getBeforeDeserializeMethod

      Get the "beforeDeserialize" method for this bound class, if one exists.

      This method is called before data is read and applied during deserialization.

      Returns:
      the method, or null if no such method exists
    • callBeforeDeserialize

      default void callBeforeDeserialize(dev.metaschema.core.model.IBoundObject targetObject, dev.metaschema.core.model.IBoundObject parentObject) throws BindingException
      Calls the method named "beforeDeserialize" on each class in the object's hierarchy if the method exists on the class.

      These methods can be used to set the initial state of the target bound object before data is read and applied during deserialization.

      Specified by:
      callBeforeDeserialize in interface IFeatureComplexItemValueHandler
      Parameters:
      targetObject - the data object target to call the method(s) on
      parentObject - the object target's parent object, which is used as the method argument
      Throws:
      BindingException - if an error occurs while calling the method
    • getAfterDeserializeMethod

      Get the "afterDeserialize" method for this bound class, if one exists.

      This method is called after data is read and applied during deserialization.

      Returns:
      the method, or null if no such method exists
    • callAfterDeserialize

      default void callAfterDeserialize(dev.metaschema.core.model.IBoundObject targetObject, dev.metaschema.core.model.IBoundObject parentObject) throws BindingException
      Calls the method named "afterDeserialize" on each class in the object's hierarchy if the method exists.

      These methods can be used to modify the state of the target bound object after data is read and applied during deserialization.

      Specified by:
      callAfterDeserialize in interface IFeatureComplexItemValueHandler
      Parameters:
      targetObject - the data object target to call the method(s) on
      parentObject - the object target's parent object, which is used as the method argument
      Throws:
      BindingException - if an error occurs while calling the method