Module dev.metaschema.databind
Package dev.metaschema.databind.model
Interface IBoundDefinitionModelComplex
- All Superinterfaces:
IAttributable,IBoundDefinition,IBoundDefinitionModel<IBoundObject>,IBoundModelElement,IBoundModelObject<IBoundObject>,IContainer,IDefaultable,IDefinition,IDescribable,IFeatureComplexItemValueHandler,IFeatureContainerFlag<IBoundInstanceFlag>,IFeatureValueConstrained,IItemValueHandler<IBoundObject>,IJsonNamed,IModelDefinition,IModelElement,IModelElementVisitable,INamed,INamedModelElement,IValueConstrained
- All Known Subinterfaces:
IBoundDefinitionModelAssembly,IBoundDefinitionModelFieldComplex
public interface IBoundDefinitionModelComplex
extends IBoundDefinitionModel<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
IAttributable.KeyNested classes/interfaces inherited from interface dev.metaschema.core.model.IDefinition
IDefinition.ModuleScope -
Field Summary
Fields inherited from interface dev.metaschema.core.model.IAttributable
DEFAULT_PROPERY_NAMESPACEFields inherited from interface dev.metaschema.core.model.IDefinition
DEFAULT_MODULE_SCOPE -
Method Summary
Modifier and TypeMethodDescriptiondefault voidcallAfterDeserialize(IBoundObject targetObject, IBoundObject parentObject) Calls the method named "afterDeserialize" on each class in the object's hierarchy if the method exists.default voidcallBeforeDeserialize(IBoundObject targetObject, 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.Map<String,IBoundProperty<?>> getJsonProperties(Predicate<IBoundInstanceFlag> flagFilter) Get a mapping of JSON property names to their corresponding bound properties.Methods inherited from interface dev.metaschema.core.model.IAttributable
getProperties, getPropertyValues, hasProperty, hasPropertyValueMethods inherited from interface dev.metaschema.databind.model.IBoundDefinitionModel
getBindingContext, getInlineInstanceMethods inherited from interface dev.metaschema.databind.model.IBoundModelElement
getContainingModuleMethods inherited from interface dev.metaschema.databind.model.IBoundModelObject
canHandleXmlQNameMethods inherited from interface dev.metaschema.core.model.IDefaultable
getDefaultValue, getEffectiveDefaultValue, getResolvedDefaultValueMethods inherited from interface dev.metaschema.core.model.IDefinition
getDefinitionQName, getLocation, getModuleScope, isInline, toCoordinatesMethods inherited from interface dev.metaschema.core.model.IDescribable
getDescription, getEffectiveDescription, getEffectiveFormalName, getFormalNameMethods inherited from interface dev.metaschema.databind.model.info.IFeatureComplexItemValueHandler
deepCopyItem, getBoundClass, getDefinition, getJsonProperties, newInstanceMethods inherited from interface dev.metaschema.core.model.IFeatureContainerFlag
getFlagContainer, getFlagInstanceByName, getFlagInstances, getJsonKeyMethods inherited from interface dev.metaschema.core.model.constraint.IFeatureValueConstrained
addConstraint, addConstraint, addConstraint, addConstraint, addConstraint, addLetExpression, getAllowedValuesConstraints, getConstraints, getConstraintSupport, getExpectConstraints, getIndexHasKeyConstraints, getLetExpressions, getMatchesConstraints, getReportConstraintsMethods inherited from interface dev.metaschema.databind.model.info.IItemValueHandler
readItem, writeItemMethods inherited from interface dev.metaschema.core.model.IModelDefinition
hasChildrenMethods inherited from interface dev.metaschema.core.model.IModelElement
getModelType, getRemarksMethods inherited from interface dev.metaschema.core.model.IModelElementVisitable
acceptMethods inherited from interface dev.metaschema.core.model.INamed
getEffectiveIndex, getEffectiveName, getIndex, getName, getQName, getUseIndex, getUseNameMethods inherited from interface dev.metaschema.core.model.INamedModelElement
getJsonNameMethods inherited from interface dev.metaschema.core.model.constraint.IValueConstrained
getSource
-
Method Details
-
getJsonProperties
@NonNull Map<String,IBoundProperty<?>> getJsonProperties(@Nullable Predicate<IBoundInstanceFlag> flagFilter) Get a mapping of JSON property names to their corresponding bound properties.- Parameters:
flagFilter- a predicate to filter which flag instances to include, ornullto 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
nullif no such method exists
-
callBeforeDeserialize
default void callBeforeDeserialize(IBoundObject targetObject, 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:
callBeforeDeserializein interfaceIFeatureComplexItemValueHandler- Parameters:
targetObject- the data object target to call the method(s) onparentObject- 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
nullif no such method exists
-
callAfterDeserialize
default void callAfterDeserialize(IBoundObject targetObject, 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:
callAfterDeserializein interfaceIFeatureComplexItemValueHandler- Parameters:
targetObject- the data object target to call the method(s) onparentObject- the object target's parent object, which is used as the method argument- Throws:
BindingException- if an error occurs while calling the method
-