Module dev.metaschema.core
Package dev.metaschema.core.model
Interface IFeatureDefinitionInstanceInlined<DEFINITION extends IDefinition,INSTANCE extends INamedInstance>
- Type Parameters:
DEFINITION- the associated definition Java typeINSTANCE- the associated instance Java type
- All Superinterfaces:
IAttributable,IDefaultable,IDefinition,IDescribable,IFeatureValueConstrained,IInstance,IJsonNamed,IModelElement,IModelElementVisitable,INamed,INamedInstance,INamedModelElement,IValueConstrained
- All Known Subinterfaces:
IBoundInstanceFlag,IBoundInstanceModelFieldScalar
- All Known Implementing Classes:
AbstractInlineAssemblyDefinition,AbstractInlineFieldDefinition,AbstractInlineFlagDefinition
public interface IFeatureDefinitionInstanceInlined<DEFINITION extends IDefinition,INSTANCE extends INamedInstance>
extends IDefinition, INamedInstance
A trait indicating that the implementation is a localized definition that is
declared in-line as an instance.
-
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 DEFINITIONRetrieve the definition of this instance.default IEnhancedQNameThe qualified name for the definition.default ObjectGet the effective default value for the model construct.default MarkupLineGet the text that describes the basic use of the element, which allows an instance to override a definition's description.default StringThe resolved formal display name, which allows an instance to override a definition's name.default IntegerGet the index value to use for binary naming based on the provided index values.default StringGet the name to use based on the provided names.default INSTANCEIfIDefinition.isInline()istrue, return the instance the definition is inlined for.default ISourceGet information about the resource the constraints were loaded from.default booleanisInline()Determine if the definition is defined inline, meaning the definition is declared where it is used.default booleanDetermine if the definition of this instance is declared inline.default StringGenerates a "coordinate" string for the provided inline definition instance.Methods 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.constraint.IFeatureValueConstrained
addConstraint, addConstraint, addConstraint, addConstraint, addConstraint, addLetExpression, getAllowedValuesConstraints, getConstraints, getConstraintSupport, getExpectConstraints, getIndexHasKeyConstraints, getLetExpressions, getMatchesConstraints, getReportConstraintsMethods inherited from interface dev.metaschema.core.model.IInstance
getContainingDefinition, getParentContainerMethods 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
getIndex, getName, getQName, getUseIndex, getUseNameMethods inherited from interface dev.metaschema.core.model.INamedInstance
getReferencedDefinitionQNameMethods inherited from interface dev.metaschema.core.model.INamedModelElement
getJsonName
-
Method Details
-
getDefinitionQName
Description copied from interface:IDefinitionThe 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.
- Specified by:
getDefinitionQNamein interfaceIDefinition- Returns:
- the definition's qualified name
-
getDefinition
Description copied from interface:INamedInstanceRetrieve the definition of this instance.- Specified by:
getDefinitionin interfaceINamedInstance- Returns:
- the corresponding definition
-
isInlineDefinition
default boolean isInlineDefinition()Description copied from interface:INamedInstanceDetermine if the definition of this instance is declared inline.- Specified by:
isInlineDefinitionin interfaceINamedInstance- Returns:
trueif the definition of this instance is declared inline orfalseotherwise
-
isInline
default 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- 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- Returns:
- the instance or
nullotherwise - See Also:
-
getEffectiveFormalName
Description copied from interface:IDescribableThe resolved formal display name, which allows an instance to override a definition's name.- Specified by:
getEffectiveFormalNamein interfaceIDescribable- Returns:
- the formal name or
nullif not defined
-
getEffectiveDescription
Description copied from interface:IDescribableGet the text that describes the basic use of the element, which allows an instance to override a definition's description.- Specified by:
getEffectiveDescriptionin interfaceIDescribable- Returns:
- a line of markup text or
nullif not defined
-
getEffectiveName
Description copied from interface:INamedGet the name to use based on the provided names. This method will return the use name provided byINamed.getUseName()if the call is notnull, and fall back to the name provided byINamed.getName()otherwise. This is the model name to use for the for an instance where the instance is referenced.- Specified by:
getEffectiveNamein interfaceINamed- Returns:
- the use name if available, or the name if not
- See Also:
-
getEffectiveIndex
Description copied from interface:INamedGet the index value to use for binary naming based on the provided index values.This method will return the use index value provided by
INamed.getUseIndex()if the call result is notnull, and fall back to the index value provided byINamed.getIndex()otherwise.- Specified by:
getEffectiveIndexin interfaceINamed- Returns:
- the index value if available, or
nullotherwise
-
getEffectiveDefaultValue
Description copied from interface:IDefaultableGet the effective default value for the model construct.This should consider default values in any related referenced definitions or child constructs as needed to determine the default to use.
- Specified by:
getEffectiveDefaultValuein interfaceIDefaultable- Returns:
- the effective default value or
nullif there is no effective default value
-
getSource
Description copied from interface:IValueConstrainedGet information about the resource the constraints were loaded from.- Specified by:
getSourcein interfaceIValueConstrained- Returns:
- the source information
-
toCoordinates
Generates a "coordinate" string for the provided inline definition instance. A coordinate consists of the element's:- containing Metaschema module's short name
- model type
- definition name
- hash code
- Specified by:
toCoordinatesin interfaceIDefinition- Specified by:
toCoordinatesin interfaceIInstance- Specified by:
toCoordinatesin interfaceIModelElement- Returns:
- the coordinate
-