Dictionary attribute classes.

Besides the word, reading and translation fields, {@linkplain jgloss.dictionary.DictionaryEntry dictionary entries} have attributes which contain additional information. For each attribute type there is a unique instance of the {@link jgloss.dictionary.attribute.Attribute Attribute} interface which marks the attribute. The {@link jgloss.dictionary.attribute.Attributes Attributes class} is the default implementation of the interface and contains a collection of standard attributes as static members. Dictionary implementations may define their own attributes in addition to the standard ones.

An attribute may have one or more values, which are instances of {@link jgloss.dictionary.attribute.AttributeValue AttributeValue}. Several standard value classes are defined which are used by the standard attributes. Attribute values for one attribute are stored in a {@link jgloss.dictionary.attribute.ValueList ValueList}. Attributes for one category of a dictionary entry and their values are collected in a {@link jgloss.dictionary.attribute.AttributeSet AttributeSet}.

To create a string representation of attributes and their values, instances of {@link jgloss.dictionary.attribute.AttributeFormatter AttributeFormatter} are used.