Interface IAttributable

All Known Subinterfaces:
IAllowedValuesConstraint, IAssembly, IAssemblyDefinition, IAssemblyInstance, IAssemblyInstanceAbsolute, IAssemblyInstanceGrouped, IBindingDefinitionModel, IBindingDefinitionModelAssembly, IBoundDefinition, IBoundDefinitionFlag, IBoundDefinitionModel<ITEM>, IBoundDefinitionModelAssembly, IBoundDefinitionModelComplex, IBoundDefinitionModelField<ITEM>, IBoundDefinitionModelFieldComplex, IBoundInstanceFlag, IBoundInstanceModelAssembly, IBoundInstanceModelField<ITEM>, IBoundInstanceModelFieldComplex, IBoundInstanceModelFieldScalar, IBoundInstanceModelGroupedAssembly, IBoundInstanceModelGroupedField, IBoundInstanceModelGroupedNamed, IBoundInstanceModelNamed<ITEM>, ICardinalityConstraint, IConfigurableMessageConstraint, IConstraint, IDefinition, IExpectConstraint, IFeatureContainerFlag<FI>, IFeatureDefinitionInstanceInlined<DEFINITION,INSTANCE>, IFeatureDefinitionReferenceInstance<DEFINITION,INSTANCE>, IField, IFieldDefinition, IFieldInstance, IFieldInstanceAbsolute, IFieldInstanceGrouped, IFlag, IFlagDefinition, IFlagInstance, IIndexConstraint, IIndexHasKeyConstraint, IKeyConstraint, IMatchesConstraint, IModelDefinition, INamedInstance, INamedModelInstance, INamedModelInstanceAbsolute, INamedModelInstanceGrouped, IReportConstraint, IUniqueConstraint, IValuedDefinition, IValuedInstance
All Known Implementing Classes:
AbstractAssemblyInstance, AbstractFieldInstance, AbstractFlagInstance, AbstractGlobalAssemblyDefinition, AbstractGlobalDefinition, AbstractGlobalFieldDefinition, AbstractGlobalFlagDefinition, AbstractInlineAssemblyDefinition, AbstractInlineFieldDefinition, AbstractInlineFlagDefinition, AbstractNamedInstance, AbstractNamedModelInstance
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface IAttributable
A marker interface for implementations that supports the mapping of a namespace valued key to a set of values.
  • Field Details

    • DEFAULT_PROPERY_NAMESPACE

      @NonNull static final String DEFAULT_PROPERY_NAMESPACE
      The default key namespace for a property.
      See Also:
  • Method Details

    • getProperties

      @NonNull Map<IAttributable.Key,Set<String>> getProperties()
      Get the mapping of property key to values.
      Returns:
      the mapping
    • hasProperty

      default boolean hasProperty(@NonNull IAttributable.Key key)
      Determine if a property is defined.
      Parameters:
      key - the key of the property
      Returns:
      true if the property is defined or false otherwise
    • getPropertyValues

      @NonNull default Set<String> getPropertyValues(@NonNull IAttributable.Key key)
      Get the values associated with a given property key.
      Parameters:
      key - the key of the property
      Returns:
      the values or an empty set
    • hasPropertyValue

      default boolean hasPropertyValue(@NonNull IAttributable.Key key, @NonNull String value)
      Determine if a given property, with a given key, has the identified value.
      Parameters:
      key - the key of the property
      value - the expected property value
      Returns:
      true if the property value is defined or false otherwise
    • key

      @NonNull static IAttributable.Key key(@NonNull String name, @NonNull String namespace)
      Get a property key based on the provided name and namespace.
      Parameters:
      name - the name portion of a property key
      namespace - the namespace portion of a property key
      Returns:
      the property key
    • key

      @NonNull static IAttributable.Key key(@NonNull String name)
      Get a property key based on the provided name and the default namespace.
      Parameters:
      name - the name portion of a property key
      Returns:
      the property key
      See Also: