< prev index next >
src/java.desktop/share/classes/javax/swing/text/DocumentFilter.java
Print this page
*** 23,57 ****
* questions.
*/
package javax.swing.text;
/**
! * <code>DocumentFilter</code>, as the name implies, is a filter for the
! * <code>Document</code> mutation methods. When a <code>Document</code>
! * containing a <code>DocumentFilter</code> is modified (either through
! * <code>insert</code> or <code>remove</code>), it forwards the appropriate
! * method invocation to the <code>DocumentFilter</code>. 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 <code>FilterBypass</code>. Subclasses should NOT call back
* into the Document for the modification
! * instead call into the superclass or the <code>FilterBypass</code>.
* <p>
! * When <code>remove</code> or <code>insertString</code> is invoked
! * on the <code>DocumentFilter</code>, the <code>DocumentFilter</code>
* may callback into the
! * <code>FilterBypass</code> multiple times, or for different regions, but
! * it should not callback into the <code>FilterBypass</code> after returning
! * from the <code>remove</code> or <code>insertString</code> method.
* <p>
* By default, text related document mutation methods such as
! * <code>insertString</code>, <code>replace</code> and <code>remove</code>
! * in <code>AbstractDocument</code> use <code>DocumentFilter</code> when
! * available, and <code>Element</code> related mutation methods such as
! * <code>create</code>, <code>insert</code> and <code>removeElement</code> in
! * <code>DefaultStyledDocument</code> do not use <code>DocumentFilter</code>.
* If a method doesn't follow these defaults, this must be explicitly stated
* in the method documentation.
*
* @see javax.swing.text.Document
* @see javax.swing.text.AbstractDocument
--- 23,57 ----
* questions.
*/
package javax.swing.text;
/**
! * {@code DocumentFilter}, as the name implies, is a filter for the
! * {@code Document} mutation methods. When a {@code Document}
! * containing a {@code DocumentFilter} is modified (either through
! * {@code insert} or {@code remove}), it forwards the appropriate
! * method invocation to the {@code 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 {@code FilterBypass}. Subclasses should NOT call back
* into the Document for the modification
! * instead call into the superclass or the {@code FilterBypass}.
* <p>
! * When {@code remove} or {@code insertString} is invoked
! * on the {@code DocumentFilter}, the {@code DocumentFilter}
* may callback into the
! * {@code FilterBypass} multiple times, or for different regions, but
! * it should not callback into the {@code FilterBypass} after returning
! * from the {@code remove} or {@code insertString} method.
* <p>
* By default, text related document mutation methods such as
! * {@code insertString}, {@code replace} and {@code remove}
! * in {@code AbstractDocument} use {@code DocumentFilter} when
! * available, and {@code Element} related mutation methods such as
! * {@code create}, {@code insert} and {@code removeElement} in
! * {@code DefaultStyledDocument} do not use {@code DocumentFilter}.
* If a method doesn't follow these defaults, this must be explicitly stated
* in the method documentation.
*
* @see javax.swing.text.Document
* @see javax.swing.text.AbstractDocument
*** 62,72 ****
public class DocumentFilter {
/**
* 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 <code>FilterBypass</code> as
* necessary.
*
* @param fb FilterBypass that can be used to mutate Document
* @param offset the offset from the beginning >= 0
* @param length the number of characters to remove >= 0
--- 62,72 ----
public class DocumentFilter {
/**
* 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 {@code FilterBypass} as
* necessary.
*
* @param fb FilterBypass that can be used to mutate Document
* @param offset the offset from the beginning >= 0
* @param length the number of characters to remove >= 0
*** 165,177 ****
public abstract void insertString(int offset, String string,
AttributeSet attr) throws
BadLocationException;
/**
! * Deletes the region of text from <code>offset</code> to
! * <code>offset + length</code>, and replaces it with
! * <code>text</code>.
*
* @param offset Location in Document
* @param length Length of text to delete
* @param string Text to insert, null indicates no text to insert
* @param attrs AttributeSet indicating attributes of inserted text,
--- 165,177 ----
public abstract void insertString(int offset, String string,
AttributeSet attr) throws
BadLocationException;
/**
! * Deletes the region of text from {@code offset} to
! * {@code offset + length}, and replaces it with
! * {@code text}.
*
* @param offset Location in Document
* @param length Length of text to delete
* @param string Text to insert, null indicates no text to insert
* @param attrs AttributeSet indicating attributes of inserted text,
< prev index next >