Interface IFeatureDefinitionInstanceInlined<DEFINITION extends IDefinition,INSTANCE extends INamedInstance>

Type Parameters:
DEFINITION - the associated definition Java type
INSTANCE - 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.
  • Method Details

    • getDefinitionQName

      default IEnhancedQName getDefinitionQName()
      Description copied from interface: IDefinition
      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.

      Specified by:
      getDefinitionQName in interface IDefinition
      Returns:
      the definition's qualified name
    • getDefinition

      default DEFINITION getDefinition()
      Description copied from interface: INamedInstance
      Retrieve the definition of this instance.
      Specified by:
      getDefinition in interface INamedInstance
      Returns:
      the corresponding definition
    • isInlineDefinition

      default boolean isInlineDefinition()
      Description copied from interface: INamedInstance
      Determine if the definition of this instance is declared inline.
      Specified by:
      isInlineDefinition in interface INamedInstance
      Returns:
      true if the definition of this instance is declared inline or false otherwise
    • isInline

      default boolean isInline()
      Description copied from interface: IDefinition
      Determine if the definition is defined inline, meaning the definition is declared where it is used.

      If this method returns false, then IDefinition.getInlineInstance() must return null.

      Specified by:
      isInline in interface IDefinition
      Returns:
      true if the definition is declared inline or false if the definition is able to be globally referenced
      See Also:
    • getInlineInstance

      @NonNull default INSTANCE getInlineInstance()
      Description copied from interface: IDefinition
      If IDefinition.isInline() is true, return the instance the definition is inlined for.

      If this method returns null, then IDefinition.getInlineInstance() must return false.

      Specified by:
      getInlineInstance in interface IDefinition
      Returns:
      the instance or null otherwise
      See Also:
    • getEffectiveFormalName

      default String getEffectiveFormalName()
      Description copied from interface: IDescribable
      The resolved formal display name, which allows an instance to override a definition's name.
      Specified by:
      getEffectiveFormalName in interface IDescribable
      Returns:
      the formal name or null if not defined
    • getEffectiveDescription

      default MarkupLine getEffectiveDescription()
      Description copied from interface: IDescribable
      Get the text that describes the basic use of the element, which allows an instance to override a definition's description.
      Specified by:
      getEffectiveDescription in interface IDescribable
      Returns:
      a line of markup text or null if not defined
    • getEffectiveName

      default String getEffectiveName()
      Description copied from interface: INamed
      Get the name to use based on the provided names. This method will return the use name provided by INamed.getUseName() if the call is not null, and fall back to the name provided by INamed.getName() otherwise. This is the model name to use for the for an instance where the instance is referenced.
      Specified by:
      getEffectiveName in interface INamed
      Returns:
      the use name if available, or the name if not
      See Also:
    • getEffectiveIndex

      default Integer getEffectiveIndex()
      Description copied from interface: INamed
      Get 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 not null, and fall back to the index value provided by INamed.getIndex() otherwise.

      Specified by:
      getEffectiveIndex in interface INamed
      Returns:
      the index value if available, or null otherwise
    • getEffectiveDefaultValue

      @Nullable default Object getEffectiveDefaultValue()
      Description copied from interface: IDefaultable
      Get 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:
      getEffectiveDefaultValue in interface IDefaultable
      Returns:
      the effective default value or null if there is no effective default value
    • getSource

      default ISource getSource()
      Description copied from interface: IValueConstrained
      Get information about the resource the constraints were loaded from.
      Specified by:
      getSource in interface IValueConstrained
      Returns:
      the source information
    • toCoordinates

      default String 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:
      toCoordinates in interface IDefinition
      Specified by:
      toCoordinates in interface IInstance
      Specified by:
      toCoordinates in interface IModelElement
      Returns:
      the coordinate