Module dev.metaschema.databind
Package dev.metaschema.databind.model
Interface IBoundInstanceModelFieldComplex
- All Superinterfaces:
IAttributable,IBoundInstance<IBoundObject>,IBoundInstanceModel<IBoundObject>,IBoundInstanceModelField<IBoundObject>,IBoundInstanceModelNamed<IBoundObject>,IBoundModelElement,IBoundModelObject<IBoundObject>,IBoundProperty<IBoundObject>,IDefaultable,IDescribable,IFeatureComplexItemValueHandler,IFeatureJavaField,IField,IFieldInstance,IFieldInstanceAbsolute,IGroupable,IInstance,IInstanceAbsolute,IItemValueHandler<IBoundObject>,IJsonInstance,IJsonNamed,IModelElement,IModelElementVisitable,IModelInstance,IModelInstanceAbsolute,INamed,INamedInstance,INamedModelElement,INamedModelInstance,INamedModelInstanceAbsolute,IValued,IValuedInstance,IValuedMutable
public interface IBoundInstanceModelFieldComplex
extends IBoundInstanceModelField<IBoundObject>, IFeatureComplexItemValueHandler
Represents a bound field instance that contains complex (non-scalar) data,
such as an object with flags and a value.
-
Nested Class Summary
Nested classes/interfaces inherited from interface dev.metaschema.core.model.IAttributable
IAttributable.Key -
Field Summary
Fields inherited from interface dev.metaschema.core.model.IAttributable
DEFAULT_PROPERY_NAMESPACEFields inherited from interface dev.metaschema.core.model.IFieldInstance
DEFAULT_FIELD_IN_XML_WRAPPEDFields inherited from interface dev.metaschema.core.model.IGroupable
DEFAULT_GROUP_AS_MAX_OCCURS, DEFAULT_GROUP_AS_MIN_OCCURS, DEFAULT_JSON_GROUP_AS_BEHAVIOR, DEFAULT_XML_GROUP_AS_BEHAVIOR -
Method Summary
Modifier and TypeMethodDescriptiondefault voidcallAfterDeserialize(IBoundObject targetObject, IBoundObject parentObject) Invoke the after-deserialize lifecycle callback on the target object.default voidcallBeforeDeserialize(IBoundObject targetObject, IBoundObject parentObject) Invoke the before-deserialize lifecycle callback on the target object.default IBoundObjectdeepCopyItem(IBoundObject item, IBoundObject parentInstance) Create and return a deep copy of the provided item.default Class<? extends IBoundObject>The class this binding is to.Retrieve the definition of this instance.default booleanIndicate if the instance allows values without an XML element wrapper.default IBoundObjectreadItem(IBoundObject parent, IItemReadHandler handler) Parse and return an item.default voidwriteItem(IBoundObject item, IItemWriteHandler handler) Write the provided item.Methods inherited from interface dev.metaschema.core.model.IAttributable
getProperties, getPropertyValues, hasProperty, hasPropertyValueMethods inherited from interface dev.metaschema.databind.model.IBoundInstance
getContainingModule, getValue, setValueMethods inherited from interface dev.metaschema.databind.model.IBoundInstanceModel
deepCopy, getCollectionInfo, getContainingDefinition, getResolvedDefaultValueMethods inherited from interface dev.metaschema.databind.model.IBoundInstanceModelField
canHandleXmlQNameMethods inherited from interface dev.metaschema.databind.model.IBoundInstanceModelNamed
getEffectiveJsonKey, getIndex, getItemJsonKey, getItemValues, getJsonKey, getNameMethods inherited from interface dev.metaschema.core.model.IDefaultable
getDefaultValue, getEffectiveDefaultValueMethods inherited from interface dev.metaschema.core.model.IDescribable
getDescription, getEffectiveDescription, getEffectiveFormalName, getFormalNameMethods inherited from interface dev.metaschema.databind.model.info.IFeatureComplexItemValueHandler
getJsonProperties, newInstanceMethods inherited from interface dev.metaschema.databind.model.IFeatureJavaField
getField, getItemType, getTypeMethods inherited from interface dev.metaschema.core.model.IField
getModelTypeMethods inherited from interface dev.metaschema.core.model.IFieldInstance
isInXmlWrappedMethods inherited from interface dev.metaschema.core.model.IFieldInstanceAbsolute
acceptMethods inherited from interface dev.metaschema.core.model.IGroupable
getEffectiveXmlGroupAsQName, getGroupAsName, getJsonGroupAsBehavior, getMaxOccurs, getMinOccurs, getXmlGroupAsBehaviorMethods inherited from interface dev.metaschema.core.model.IInstance
toCoordinatesMethods inherited from interface dev.metaschema.core.model.IModelElement
getRemarksMethods inherited from interface dev.metaschema.core.model.IModelInstance
getContainingDefinition, getParentContainerMethods inherited from interface dev.metaschema.core.model.INamed
getEffectiveIndex, getEffectiveName, getQName, getUseIndex, getUseNameMethods inherited from interface dev.metaschema.core.model.INamedInstance
getReferencedDefinitionQName, isInlineDefinitionMethods inherited from interface dev.metaschema.core.model.INamedModelInstance
hasJsonKeyMethods inherited from interface dev.metaschema.core.model.INamedModelInstanceAbsolute
getJsonName
-
Method Details
-
getDefinition
IBoundDefinitionModelFieldComplex getDefinition()Description copied from interface:INamedInstanceRetrieve the definition of this instance.- Specified by:
getDefinitionin interfaceIBoundInstanceModelField<IBoundObject>- Specified by:
getDefinitionin interfaceIBoundInstanceModelNamed<IBoundObject>- Specified by:
getDefinitionin interfaceIFeatureComplexItemValueHandler- Specified by:
getDefinitionin interfaceIFieldInstance- Specified by:
getDefinitionin interfaceINamedInstance- Specified by:
getDefinitionin interfaceINamedModelInstance- Specified by:
getDefinitionin interfaceIValuedInstance- Returns:
- the corresponding definition
-
isEffectiveValueWrappedInXml
default boolean isEffectiveValueWrappedInXml()Description copied from interface:IModelInstanceIndicate if the instance allows values without an XML element wrapper.- Specified by:
isEffectiveValueWrappedInXmlin interfaceIFieldInstanceAbsolute- Specified by:
isEffectiveValueWrappedInXmlin interfaceIModelInstance- Returns:
trueif the underlying data type is allowed to be unwrapped, orfalseotherwise
-
readItem
Description copied from interface:IItemValueHandlerParse and return an item.- Specified by:
readItemin interfaceIItemValueHandler<IBoundObject>- Parameters:
parent- the parent Java object to use for serialization callbacks, ornullif there is no parenthandler- the item parsing handler- Returns:
- the Java object representing the parsed item
- Throws:
IOException- if an error occurred while parsing
-
writeItem
Description copied from interface:IItemValueHandlerWrite the provided item.- Specified by:
writeItemin interfaceIItemValueHandler<IBoundObject>- Parameters:
item- the data to writehandler- the item writing handler- Throws:
IOException- if an error occurred while writing
-
deepCopyItem
default IBoundObject deepCopyItem(IBoundObject item, IBoundObject parentInstance) throws BindingException Description copied from interface:IItemValueHandlerCreate and return a deep copy of the provided item.- Specified by:
deepCopyItemin interfaceIFeatureComplexItemValueHandler- Specified by:
deepCopyItemin interfaceIItemValueHandler<IBoundObject>- Parameters:
item- the item to copyparentInstance- an optional parent object to use for serialization callbacks- Returns:
- the new deep copy
- Throws:
BindingException- if an error occurred while analyzing the bound objects
-
getBoundClass
Description copied from interface:IFeatureComplexItemValueHandlerThe class this binding is to.- Specified by:
getBoundClassin interfaceIFeatureComplexItemValueHandler- Returns:
- the bound class
-
callBeforeDeserialize
default void callBeforeDeserialize(IBoundObject targetObject, IBoundObject parentObject) throws BindingException Description copied from interface:IFeatureComplexItemValueHandlerInvoke the before-deserialize lifecycle callback on the target object.- Specified by:
callBeforeDeserializein interfaceIFeatureComplexItemValueHandler- Parameters:
targetObject- the object being deserializedparentObject- the parent object containing the target, ornullif there is no parent- Throws:
BindingException- if an error occurs during the callback
-
callAfterDeserialize
default void callAfterDeserialize(IBoundObject targetObject, IBoundObject parentObject) throws BindingException Description copied from interface:IFeatureComplexItemValueHandlerInvoke the after-deserialize lifecycle callback on the target object.- Specified by:
callAfterDeserializein interfaceIFeatureComplexItemValueHandler- Parameters:
targetObject- the object that was deserializedparentObject- the parent object containing the target, ornullif there is no parent- Throws:
BindingException- if an error occurs during the callback
-