< 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 &gt;= 0 * @param length the number of characters to remove &gt;= 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 &gt;= 0 * @param length the number of characters to remove &gt;= 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 >