javax.swing.text
Class DocumentFilter

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by javax.swing.text.DocumentFilter

public class DocumentFilter
extends Object sample code for java.lang.Object definition code for java.lang.Object

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.

Since:
1.4
See Also:
Document sample code for javax.swing.text.Document definition code for javax.swing.text.Document

Nested Class Summary
static class DocumentFilter.FilterBypass sample code for javax.swing.text.DocumentFilter.FilterBypass definition code for javax.swing.text.DocumentFilter.FilterBypass
          Used as a way to circumvent calling back into the Document to change it.
 
Constructor Summary
DocumentFilter sample code for javax.swing.text.DocumentFilter.DocumentFilter() definition code for javax.swing.text.DocumentFilter.DocumentFilter() ()
           
 
Method Summary
 void insertString sample code for javax.swing.text.DocumentFilter.insertString(javax.swing.text.DocumentFilter.FilterBypass, int, java.lang.String, javax.swing.text.AttributeSet) definition code for javax.swing.text.DocumentFilter.insertString(javax.swing.text.DocumentFilter.FilterBypass, int, java.lang.String, javax.swing.text.AttributeSet) (DocumentFilter.FilterBypass sample code for javax.swing.text.DocumentFilter.FilterBypass definition code for javax.swing.text.DocumentFilter.FilterBypass  fb, int offset, String sample code for java.lang.String definition code for java.lang.String  string, AttributeSet sample code for javax.swing.text.AttributeSet definition code for javax.swing.text.AttributeSet  attr)
          Invoked prior to insertion of text into the specified Document.
 void remove sample code for javax.swing.text.DocumentFilter.remove(javax.swing.text.DocumentFilter.FilterBypass, int, int) definition code for javax.swing.text.DocumentFilter.remove(javax.swing.text.DocumentFilter.FilterBypass, int, int) (DocumentFilter.FilterBypass sample code for javax.swing.text.DocumentFilter.FilterBypass definition code for javax.swing.text.DocumentFilter.FilterBypass  fb, int offset, int length)
          Invoked prior to removal of the specified region in the specified Document.
 void replace sample code for javax.swing.text.DocumentFilter.replace(javax.swing.text.DocumentFilter.FilterBypass, int, int, java.lang.String, javax.swing.text.AttributeSet) definition code for javax.swing.text.DocumentFilter.replace(javax.swing.text.DocumentFilter.FilterBypass, int, int, java.lang.String, javax.swing.text.AttributeSet) (DocumentFilter.FilterBypass sample code for javax.swing.text.DocumentFilter.FilterBypass definition code for javax.swing.text.DocumentFilter.FilterBypass  fb, int offset, int length, String sample code for java.lang.String definition code for java.lang.String  text, AttributeSet sample code for javax.swing.text.AttributeSet definition code for javax.swing.text.AttributeSet  attrs)
          Invoked prior to replacing a region of text in the specified Document.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Constructor Detail

DocumentFilter sample code for javax.swing.text.DocumentFilter() definition code for javax.swing.text.DocumentFilter()

public DocumentFilter()
Method Detail

remove sample code for javax.swing.text.DocumentFilter.remove(javax.swing.text.DocumentFilter.FilterBypass, int, int) definition code for javax.swing.text.DocumentFilter.remove(javax.swing.text.DocumentFilter.FilterBypass, int, int)

public void remove(DocumentFilter.FilterBypass sample code for javax.swing.text.DocumentFilter.FilterBypass definition code for javax.swing.text.DocumentFilter.FilterBypass  fb,
                   int offset,
                   int length)
            throws BadLocationException sample code for javax.swing.text.BadLocationException definition code for javax.swing.text.BadLocationException 
Invoked prior to removal of the specified region in the specified Document. Subclasses that want to conditionally allow removal should override this and only call supers implementation as necessary, or call directly into the FilterBypass as necessary.

Parameters:
fb - FilterBypass that can be used to mutate Document
offset - the offset from the beginning >= 0
length - the number of characters to remove >= 0
Throws:
BadLocationException sample code for javax.swing.text.BadLocationException definition code for javax.swing.text.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 sample code for javax.swing.text.DocumentFilter.insertString(javax.swing.text.DocumentFilter.FilterBypass, int, java.lang.String, javax.swing.text.AttributeSet) definition code for javax.swing.text.DocumentFilter.insertString(javax.swing.text.DocumentFilter.FilterBypass, int, java.lang.String, javax.swing.text.AttributeSet)

public void insertString(DocumentFilter.FilterBypass sample code for javax.swing.text.DocumentFilter.FilterBypass definition code for javax.swing.text.DocumentFilter.FilterBypass  fb,
                         int offset,
                         String sample code for java.lang.String definition code for java.lang.String  string,
                         AttributeSet sample code for javax.swing.text.AttributeSet definition code for javax.swing.text.AttributeSet  attr)
                  throws BadLocationException sample code for javax.swing.text.BadLocationException definition code for javax.swing.text.BadLocationException 
Invoked prior to insertion of text into the specified Document. Subclasses that want to conditionally allow insertion should override this and only call supers implementation as necessary, or call directly into the FilterBypass.

Parameters:
fb - FilterBypass that can be used to mutate Document
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 sample code for javax.swing.text.BadLocationException definition code for javax.swing.text.BadLocationException - the given insert position is not a valid position within the document

replace sample code for javax.swing.text.DocumentFilter.replace(javax.swing.text.DocumentFilter.FilterBypass, int, int, java.lang.String, javax.swing.text.AttributeSet) definition code for javax.swing.text.DocumentFilter.replace(javax.swing.text.DocumentFilter.FilterBypass, int, int, java.lang.String, javax.swing.text.AttributeSet)

public void replace(DocumentFilter.FilterBypass sample code for javax.swing.text.DocumentFilter.FilterBypass definition code for javax.swing.text.DocumentFilter.FilterBypass  fb,
                    int offset,
                    int length,
                    String sample code for java.lang.String definition code for java.lang.String  text,
                    AttributeSet sample code for javax.swing.text.AttributeSet definition code for javax.swing.text.AttributeSet  attrs)
             throws BadLocationException sample code for javax.swing.text.BadLocationException definition code for javax.swing.text.BadLocationException 
Invoked prior to replacing a region of text in the specified Document. Subclasses that want to conditionally allow replace should override this and only call supers implementation as necessary, or call directly into the FilterBypass.

Parameters:
fb - FilterBypass that can be used to mutate Document
offset - Location in Document
length - Length of text to delete
text - Text to insert, null indicates no text to insert
attrs - AttributeSet indicating attributes of inserted text, null is legal.
Throws:
BadLocationException sample code for javax.swing.text.BadLocationException definition code for javax.swing.text.BadLocationException - the given insert position is not a valid position within the document