- All Superinterfaces:
IAttributable,IDefaultable,IDescribable,IFeatureValueConstrained,IJsonNamed,IModelElement,IModelElementVisitable,INamed,INamedModelElement,IValueConstrained
- All Known Subinterfaces:
IAssemblyDefinition,IBindingDefinitionModel,IBindingDefinitionModelAssembly,IBoundDefinition,IBoundDefinitionFlag,IBoundDefinitionModel<ITEM>,IBoundDefinitionModelAssembly,IBoundDefinitionModelComplex,IBoundDefinitionModelField<ITEM>,IBoundDefinitionModelFieldComplex,IBoundInstanceFlag,IBoundInstanceModelFieldScalar,IFeatureContainerFlag<FI>,IFeatureDefinitionInstanceInlined<DEFINITION,,INSTANCE> IFieldDefinition,IFlagDefinition,IModelDefinition,IValuedDefinition
- All Known Implementing Classes:
AbstractGlobalAssemblyDefinition,AbstractGlobalDefinition,AbstractGlobalFieldDefinition,AbstractGlobalFlagDefinition,AbstractInlineAssemblyDefinition,AbstractInlineFieldDefinition,AbstractInlineFlagDefinition
Represents a definition of a flag, field, or assembly in a Metaschema module.
Definitions are reusable components that specify the structure and constraints for data elements. They can be referenced by instances or defined inline.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumDescribes the visibility of a definition to other modules.Nested classes/interfaces inherited from interface dev.metaschema.core.model.IAttributable
IAttributable.Key -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final IDefinition.ModuleScopeThe default module scope for definitions.Fields inherited from interface dev.metaschema.core.model.IAttributable
DEFAULT_PROPERY_NAMESPACE -
Method Summary
Modifier and TypeMethodDescriptionThe qualified name for the definition.IfisInline()istrue, return the instance the definition is inlined for.default IResourceLocationgetLocation(Object itemValue) Get the resource location information for the provided item, if known.default IDefinition.ModuleScopeRetrieve the definition's scope within the context of its defining module.default booleanisInline()Determine if the definition is defined inline, meaning the definition is declared where it is used.default StringGenerates a coordinate string for the provided information element definition.Methods inherited from interface dev.metaschema.core.model.IAttributable
getProperties, getPropertyValues, hasProperty, hasPropertyValueMethods inherited from interface dev.metaschema.core.model.IDefaultable
getDefaultValue, getEffectiveDefaultValue, getResolvedDefaultValueMethods inherited from interface dev.metaschema.core.model.IDescribable
getDescription, getEffectiveDescription, getEffectiveFormalName, getFormalNameMethods 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.IModelElement
getContainingModule, 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
-
Field Details
-
DEFAULT_MODULE_SCOPE
The default module scope for definitions.
-
-
Method Details
-
getModuleScope
Retrieve the definition's scope within the context of its defining module.- Returns:
- the module scope
-
getDefinitionQName
The qualified name for the definition.This name is the combination of the definition's namespace, which is the module's namespace, and the definition's name.
- Returns:
- the definition's qualified name
-
isInline
default boolean isInline()Determine if the definition is defined inline, meaning the definition is declared where it is used.If this method returns
false, thengetInlineInstance()must returnnull.- Returns:
trueif the definition is declared inline orfalseif the definition is able to be globally referenced- See Also:
-
getInlineInstance
INamedInstance getInlineInstance()IfisInline()istrue, return the instance the definition is inlined for.If this method returns
null, thengetInlineInstance()must returnfalse.- Returns:
- the instance or
nullotherwise - See Also:
-
toCoordinates
Generates a coordinate string for the provided information element definition. A coordinate consists of the element's:- containing Metaschema's short name
- model type
- name
- hash code
- Specified by:
toCoordinatesin interfaceIModelElement- Returns:
- the coordinate
-
getLocation
Get the resource location information for the provided item, if known.- Parameters:
itemValue- the item to get the location information for- Returns:
- the resource location information, or
nullif not known
-