public interface AttributesSchema
attributes and how they
 can be matched together.| Modifier and Type | Method | 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() | Returns the set of attributes known to this schema. | 
| <T> AttributeMatchingStrategy<T> | getMatchingStrategy(Attribute<T> attribute) | Returns the matching strategy for a given attribute. | 
| boolean | hasAttribute(Attribute<?> key) | Returns true when this schema contains the given attribute. | 
<T> AttributeMatchingStrategy<T> getMatchingStrategy(Attribute<T> attribute) throws IllegalArgumentException
T - the type of the attributeattribute - the attributeIllegalArgumentException - When no strategy is available for the given 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)