@Incubating public interface AttributesSchema
attributes and how they
 can be matched together.| Modifier and Type | Method and Description | 
|---|---|
| <T> AttributeMatchingStrategy<T> | attribute(Attribute<T> attribute)Declares a new attribute in the schema and configures it with the default strategy. | 
| <T> AttributeMatchingStrategy<T> | attribute(Attribute<T> attribute,
         Action<? super AttributeMatchingStrategy<T>> configureAction)Configures the matching strategy for an attribute. | 
| Set<Attribute<?>> | getAttributes() | 
| <T> AttributeMatchingStrategy<T> | getMatchingStrategy(Attribute<T> attribute)Returns the matching strategy for a given attribute. | 
| boolean | hasAttribute(Attribute<?> key) | 
<T> AttributeMatchingStrategy<T> getMatchingStrategy(Attribute<T> attribute)
T - the type of the attributeattribute - the attribute<T> AttributeMatchingStrategy<T> attribute(Attribute<T> attribute)
T - the concrete type of the attributeattribute - the attribute to declare in the schema<T> AttributeMatchingStrategy<T> attribute(Attribute<T> attribute, Action<? super AttributeMatchingStrategy<T>> configureAction)
T - the concrete type of the attributeattribute - the attribute for which to configure the matching strategyconfigureAction - the strategy configurationboolean hasAttribute(Attribute<?> key)