Immutable class that stores font and foreground and background colors.
The coloring can be applied to either the drawing context, component
or some other coloring.
Draw layer applies changes to draw context during painting process.
Each extended UI has its own set of layers.
It can currently include changes to font bold and italic attributes,
and foreground and background color (and probably more in future).
These changes are made by draw layer to draw context
in updateContext() method.
Draw layers form double-linked lists.
Draw layer list stores multiple draw-layers sorted
according to their visibility which is the integer giving the z-order
in which the layers are sorted.
A given object can publish this interface if it allows
an efficient access to its gap-based data storage
and wants to give its clients a hint about how to access
the data efficiently.
For example
javax.swing.text.Document instance
having gap-based document content can allow to get an instance
of GapStart as a property:
GapStart gs = (GapStart)doc.getProperty(GapStart.class);
int gapStart = gs.getGapStart();
Once the start of the gap is known the client can optimize
access to the document's data.
This exception is thrown either if the mark is invalid and it should
be valid (getOffset(), getLine(), remove()) or on
the oposite side if the mark is valid and it shouldn't be
i.e.
All the documents and components register here so that
they become available to the processing that crosses
different components and documents such as cross document
position stack or word matching.
Immutable and 'interned' wrapper holding
an array of the contexts starting
with the original context in which the token is defined
and ending with the target context from which the token
is being returned.
Token-item presents a token as a piece information
without dependence on a character buffer and it enables
to chain the token-items in both directions.