Module dev.metaschema.core
Package dev.metaschema.core.model
Class AbstractInlineAssemblyDefinition<PARENT extends IContainerModel,DEFINITION extends IAssemblyDefinition,INSTANCE extends IAssemblyInstance,PARENT_DEFINITION extends IAssemblyDefinition,FLAG extends IFlagInstance,MODEL extends IModelInstanceAbsolute,NAMED_MODEL extends INamedModelInstanceAbsolute,FIELD extends IFieldInstanceAbsolute,ASSEMBLY extends IAssemblyInstanceAbsolute,CHOICE extends IChoiceInstance,CHOICE_GROUP extends IChoiceGroupInstance>
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.AbstractInlineAssemblyDefinition<PARENT,DEFINITION,INSTANCE,PARENT_DEFINITION,FLAG,MODEL,NAMED_MODEL,FIELD,ASSEMBLY,CHOICE,CHOICE_GROUP>
- 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 childrenMODEL- the expected Java type of model childrenNAMED_MODEL- the expected Java type of named model childrenFIELD- the expected Java type of field childrenASSEMBLY- the expected Java type of assembly childrenCHOICE- the expected Java type of choice childrenCHOICE_GROUP- the expected Java type of choice group children
- All Implemented Interfaces:
IFeatureModelConstrained,IFeatureValueConstrained,IModelConstrained,IValueConstrained,IAssembly,IAssemblyDefinition,IAssemblyInstance,IAttributable,IContainer,IContainerModel,IContainerModelAbsolute,IContainerModelAssembly,IDefaultable,IDefinition,IDescribable,IFeatureContainerFlag<FLAG>,IFeatureContainerModelAbsolute<MODEL,,NAMED_MODEL, FIELD, ASSEMBLY> IFeatureContainerModelAssembly<MODEL,,NAMED_MODEL, FIELD, ASSEMBLY, CHOICE, CHOICE_GROUP> IFeatureDefinitionInstanceInlined<DEFINITION,,INSTANCE> IGroupable,IInstance,IJsonNamed,IModelDefinition,IModelElement,IModelElementVisitable,IModelInstance,INamed,INamedInstance,INamedModelElement,INamedModelInstance
public abstract class AbstractInlineAssemblyDefinition<PARENT extends IContainerModel,DEFINITION extends IAssemblyDefinition,INSTANCE extends IAssemblyInstance,PARENT_DEFINITION extends IAssemblyDefinition,FLAG extends IFlagInstance,MODEL extends IModelInstanceAbsolute,NAMED_MODEL extends INamedModelInstanceAbsolute,FIELD extends IFieldInstanceAbsolute,ASSEMBLY extends IAssemblyInstanceAbsolute,CHOICE extends IChoiceInstance,CHOICE_GROUP extends IChoiceGroupInstance>
extends AbstractNamedModelInstance<PARENT,PARENT_DEFINITION>
implements IAssemblyInstance, IAssemblyDefinition, IFeatureContainerFlag<FLAG>, IFeatureContainerModelAssembly<MODEL,NAMED_MODEL,FIELD,ASSEMBLY,CHOICE,CHOICE_GROUP>, 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.IAssemblyDefinition
MODEL_QNAMEFields 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.IGroupable
DEFAULT_GROUP_AS_MAX_OCCURS, DEFAULT_GROUP_AS_MIN_OCCURS, DEFAULT_JSON_GROUP_AS_BEHAVIOR, DEFAULT_XML_GROUP_AS_BEHAVIOR -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstruct a new inline assembly definition. -
Method Summary
Modifier and TypeMethodDescriptionfinal DEFINITIONRetrieves the assembly 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.IAssembly
getModelTypeMethods inherited from interface dev.metaschema.core.model.IAssemblyDefinition
accept, getOwningDefinition, getRootIndex, getRootJsonName, getRootName, getRootQName, hasChildren, isRootMethods inherited from interface dev.metaschema.core.model.IAssemblyInstance
isEffectiveValueWrappedInXmlMethods inherited from interface dev.metaschema.core.model.IAttributable
getProperties, getPropertyValues, hasProperty, hasPropertyValueMethods inherited from interface dev.metaschema.core.model.IContainerModel
hasChildrenMethods 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.IFeatureContainerModelAbsolute
getAssemblyInstanceByName, getAssemblyInstances, getFieldInstanceByName, getFieldInstances, getModelInstances, getNamedModelInstanceByName, getNamedModelInstancesMethods inherited from interface dev.metaschema.core.model.IFeatureContainerModelAssembly
getChoiceGroupInstanceByName, getChoiceGroupInstances, getChoiceInstances, getModelContainerMethods 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.IFeatureModelConstrained
addConstraint, addConstraint, addConstraint, getConstraintSupport, getHasCardinalityConstraints, getIndexConstraints, getUniqueConstraintsMethods inherited from interface dev.metaschema.core.model.constraint.IFeatureValueConstrained
addConstraint, addConstraint, addConstraint, addConstraint, addConstraint, addLetExpression, getAllowedValuesConstraints, getConstraints, getExpectConstraints, getIndexHasKeyConstraints, getLetExpressions, getMatchesConstraints, getReportConstraintsMethods 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.IModelElement
getContainingModule, getRemarksMethods inherited from interface dev.metaschema.core.model.IModelInstance
getContainingDefinition, getParentContainerMethods 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, hasJsonKey
-
Constructor Details
-
AbstractInlineAssemblyDefinition
Construct a new inline assembly definition.- Parameters:
parent- the parent model containing this instance
-
-
Method Details
-
getDefinition
Description copied from interface:IAssemblyInstanceRetrieves the assembly definition referenced by this instance.- Specified by:
getDefinitionin interfaceIAssemblyInstance- Specified by:
getDefinitionin interfaceIFeatureDefinitionInstanceInlined<PARENT extends IContainerModel,DEFINITION extends IAssemblyDefinition> - Specified by:
getDefinitionin interfaceINamedInstance- Specified by:
getDefinitionin interfaceINamedModelInstance- Returns:
- the assembly 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 interfaceIAssemblyDefinition- Specified by:
isInlinein interfaceIDefinition- Specified by:
isInlinein interfaceIFeatureDefinitionInstanceInlined<PARENT extends IContainerModel,DEFINITION extends IAssemblyDefinition> - 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 interfaceIAssemblyDefinition- Specified by:
getInlineInstancein interfaceIDefinition- Specified by:
getInlineInstancein interfaceIFeatureDefinitionInstanceInlined<PARENT extends IContainerModel,DEFINITION extends IAssemblyDefinition> - 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
-