DocumentFilter.FilterBypass (Java Platform SE 8 )
Keywords: javax.swing.text.DocumentFilter.FilterBypass class
Date: 2026-04-17

javax.swing.text

## Class DocumentFilter.FilterBypass

- java.lang.Object
- - javax.swing.text.DocumentFilter.FilterBypass

- Enclosing class:
    DocumentFilter

      public abstract static class DocumentFilter.FilterBypass
      extends Object

  Used as a way to circumvent calling back into the Document to change it. Document implementations that wish to support a DocumentFilter must provide an implementation that will not callback into the DocumentFilter when the following methods are invoked from the DocumentFilter.
  Since:
    1.4

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FilterBypass()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract Document` | `getDocument()` Returns the Document the mutation is occurring on.
    `abstract void` | `insertString(int offset, String string, AttributeSet attr)` Inserts the specified text, bypassing the DocumentFilter.
    `abstract void` | `remove(int offset, int length)` Removes the specified region of text, bypassing the DocumentFilter.
    `abstract void` | `replace(int offset, int length, String string, AttributeSet attrs)` Deletes the region of text from `offset` to `offset + length`, and replaces it with `text`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FilterBypass

          public FilterBypass()

  - ### Method Detail

    - #### getDocument

          public abstract Document getDocument()

      Returns the Document the mutation is occurring on.
      Returns:
        Document that remove/insertString will operate on

    - #### remove

          public abstract void remove(int offset,
                                      int length)
                               throws BadLocationException

      Removes the specified region of text, bypassing the DocumentFilter.
      Parameters:
        `offset` - the offset from the beginning >= 0
        `length` - the number of characters to remove >= 0
      Throws:
        `BadLocationException` - some portion of the removal range was not a valid part of the document. The location in the exception is the first bad position encountered.

    - #### insertString

          public abstract void insertString(int offset,
                                            String string,
                                            AttributeSet attr)
                                     throws BadLocationException

      Inserts the specified text, bypassing the DocumentFilter.
      Parameters:
        `offset` - the offset into the document to insert the content >= 0. All positions that track change at or after the given location will move.
        `string` - the string to insert
        `attr` - the attributes to associate with the inserted content. This may be null if there are no attributes.
      Throws:
        `BadLocationException` - the given insert position is not a valid position within the document

    - #### replace

          public abstract void replace(int offset,
                                       int length,
                                       String string,
                                       AttributeSet attrs)
                                throws BadLocationException

      Deletes the region of text from `offset` to `offset + length`, and replaces it with `text`.
      Parameters:
        `offset` - Location in Document
        `length` - Length of text to delete
        `string` - Text to insert, null indicates no text to insert
        `attrs` - AttributeSet indicating attributes of inserted text, null is legal.
      Throws:
        `BadLocationException` - the given insert is not a valid position within the document

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.