Module dev.metaschema.core
Package dev.metaschema.core.model
Class AbstractInlineFieldDefinition<PARENT extends IContainerModel,DEFINITION extends IFieldDefinition,INSTANCE extends IFieldInstance,PARENT_DEFINITION extends IAssemblyDefinition,FLAG extends IFlagInstance>
java.lang.Object
dev.metaschema.core.model.AbstractInstance<PARENT>
dev.metaschema.core.model.AbstractNamedInstance<PARENT>
dev.metaschema.core.model.AbstractNamedModelInstance<PARENT,PARENT_DEFINITION>
dev.metaschema.core.model.AbstractInlineFieldDefinition<PARENT,DEFINITION,INSTANCE,PARENT_DEFINITION,FLAG>
- Type Parameters:
PARENT- the Java type of the parent model container for this instanceDEFINITION- the Java type of the related assembly definitionINSTANCE- the expected Java type of an instance of this definitionPARENT_DEFINITION- the Java type of the containing assembly definitionFLAG- the expected Java type of flag children
- All Implemented Interfaces:
IFeatureValueConstrained,IValueConstrained,IAttributable,IContainer,IDefaultable,IDefinition,IDescribable,IFeatureContainerFlag<FLAG>,IFeatureDefinitionInstanceInlined<DEFINITION,,INSTANCE> IField,IFieldDefinition,IFieldInstance,IGroupable,IInstance,IJsonNamed,IModelDefinition,IModelElement,IModelElementVisitable,IModelInstance,INamed,INamedInstance,INamedModelElement,INamedModelInstance,IValuedDefinition,IValuedInstance
public abstract class AbstractInlineFieldDefinition<PARENT extends IContainerModel,DEFINITION extends IFieldDefinition,INSTANCE extends IFieldInstance,PARENT_DEFINITION extends IAssemblyDefinition,FLAG extends IFlagInstance>
extends AbstractNamedModelInstance<PARENT,PARENT_DEFINITION>
implements IFieldInstance, IFieldDefinition, IFeatureContainerFlag<FLAG>, IFeatureDefinitionInstanceInlined<DEFINITION,INSTANCE>
A base class for an assembly instance defined inline.
-
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_SCOPEFields 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 -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractInlineFieldDefinition(PARENT parent) Construct a new inline assembly definition. -
Method Summary
Modifier and TypeMethodDescriptionfinal DEFINITIONRetrieves the field definition referenced by this instance.final INSTANCEIfIDefinition.isInline()istrue, return the instance the definition is inlined for.final FLAGGet the JSON key associated with this instance.booleanisInline()Determine if the definition is defined inline, meaning the definition is declared where it is used.Methods inherited from class dev.metaschema.core.model.AbstractNamedModelInstance
getContainingDefinition, getContainingModuleMethods inherited from class dev.metaschema.core.model.AbstractNamedInstance
getQName, getReferencedDefinitionQNameMethods inherited from class dev.metaschema.core.model.AbstractInstance
getParentContainerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.metaschema.core.model.IAttributable
getProperties, getPropertyValues, hasProperty, hasPropertyValueMethods inherited from interface dev.metaschema.core.model.IDefaultable
getDefaultValue, getResolvedDefaultValueMethods inherited from interface dev.metaschema.core.model.IDefinition
getLocation, getModuleScopeMethods inherited from interface dev.metaschema.core.model.IDescribable
getDescription, getFormalNameMethods inherited from interface dev.metaschema.core.model.IFeatureContainerFlag
getFlagContainer, getFlagInstanceByName, getFlagInstancesMethods inherited from interface dev.metaschema.core.model.IFeatureDefinitionInstanceInlined
getDefinitionQName, getEffectiveDefaultValue, getEffectiveDescription, getEffectiveFormalName, getEffectiveIndex, getEffectiveName, getSource, isInlineDefinition, toCoordinatesMethods 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.core.model.IField
getModelTypeMethods inherited from interface dev.metaschema.core.model.IFieldDefinition
accept, getEffectiveJsonValueKeyName, getFieldValue, getJsonValueKey, getJsonValueKeyFlagInstance, getJsonValueKeyName, hasJsonValueKeyFlagInstanceMethods inherited from interface dev.metaschema.core.model.IFieldInstance
isInXmlWrappedMethods inherited from interface dev.metaschema.core.model.IGroupable
getEffectiveXmlGroupAsQName, getGroupAsName, getItemValues, getJsonGroupAsBehavior, getMaxOccurs, getMinOccurs, getXmlGroupAsBehaviorMethods inherited from interface dev.metaschema.core.model.IInstance
toCoordinatesMethods inherited from interface dev.metaschema.core.model.IModelDefinition
hasChildrenMethods inherited from interface dev.metaschema.core.model.IModelElement
getContainingModule, getRemarksMethods inherited from interface dev.metaschema.core.model.IModelInstance
getContainingDefinition, getParentContainer, isEffectiveValueWrappedInXmlMethods inherited from interface dev.metaschema.core.model.INamed
getIndex, getName, getQName, getUseIndex, getUseNameMethods inherited from interface dev.metaschema.core.model.INamedInstance
getReferencedDefinitionQNameMethods inherited from interface dev.metaschema.core.model.INamedModelElement
getJsonNameMethods inherited from interface dev.metaschema.core.model.INamedModelInstance
getEffectiveJsonKey, hasJsonKeyMethods inherited from interface dev.metaschema.core.model.IValuedDefinition
getJavaTypeAdapter
-
Constructor Details
-
AbstractInlineFieldDefinition
Construct a new inline assembly definition.- Parameters:
parent- the parent model containing this instance
-
-
Method Details
-
getDefinition
Description copied from interface:IFieldInstanceRetrieves the field definition referenced by this instance.- Specified by:
getDefinitionin interfaceIFeatureDefinitionInstanceInlined<PARENT extends IContainerModel,DEFINITION extends IFieldDefinition> - Specified by:
getDefinitionin interfaceIFieldInstance- Specified by:
getDefinitionin interfaceINamedInstance- Specified by:
getDefinitionin interfaceINamedModelInstance- Specified by:
getDefinitionin interfaceIValuedInstance- Returns:
- the field definition
-
isInline
public boolean isInline()Description copied from interface:IDefinitionDetermine if the definition is defined inline, meaning the definition is declared where it is used.If this method returns
false, thenIDefinition.getInlineInstance()must returnnull.- Specified by:
isInlinein interfaceIDefinition- Specified by:
isInlinein interfaceIFeatureDefinitionInstanceInlined<PARENT extends IContainerModel,DEFINITION extends IFieldDefinition> - Specified by:
isInlinein interfaceIFieldDefinition- Returns:
trueif the definition is declared inline orfalseif the definition is able to be globally referenced- See Also:
-
getInlineInstance
Description copied from interface:IDefinitionIfIDefinition.isInline()istrue, return the instance the definition is inlined for.If this method returns
null, thenIDefinition.getInlineInstance()must returnfalse.- Specified by:
getInlineInstancein interfaceIDefinition- Specified by:
getInlineInstancein interfaceIFeatureDefinitionInstanceInlined<PARENT extends IContainerModel,DEFINITION extends IFieldDefinition> - Specified by:
getInlineInstancein interfaceIFieldDefinition- Returns:
- the instance or
nullotherwise - See Also:
-
getJsonKey
Description copied from interface:INamedModelInstanceGet the JSON key associated with this instance.- Specified by:
getJsonKeyin interfaceIFeatureContainerFlag<PARENT extends IContainerModel>- Specified by:
getJsonKeyin interfaceIModelDefinition- Specified by:
getJsonKeyin interfaceINamedModelInstance- Returns:
- the configured JSON key or
nullif no JSON key is configured
-