DocumentFilter
, as the name implies, is a filter for the
Document
mutation methods. When a
Document
containing a
DocumentFilter
is modified (either through
insert
or
remove
), it forwards the appropriate
method invocation to the
DocumentFilter
. The
default implementation allows the modification to
occur. Subclasses can filter the modifications by conditionally invoking
methods on the superclass, or invoking the necessary methods on
the passed in
FilterBypass
. Subclasses should NOT call back
into the Document for the modification
instead call into the superclass or the
FilterBypass
.
When remove
or insertString
is invoked
on the DocumentFilter
, the DocumentFilter
may callback into the
FilterBypass
multiple times, or for different regions, but
it should not callback into the FilterBypass
after returning
from the remove
or insertString
method.