javax.swing.text

Class PlainDocument

Implemented Interfaces:
Document, Serializable

public class PlainDocument
extends AbstractDocument

A simple document class which maps lines to Elements.
See Also:
Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class javax.swing.text.AbstractDocument

AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement

Field Summary

static String
lineLimitAttribute
static String
tabSizeAttribute

Fields inherited from class javax.swing.text.AbstractDocument

BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, ParagraphElementName, SectionElementName, listenerList

Fields inherited from interface javax.swing.text.Document

StreamDescriptionProperty, TitleProperty

Constructor Summary

PlainDocument()
The basic constructor.
PlainDocument(AbstractDocument.Content content)
Creates a new AbstractDocument with the specified AbstractDocument.Content model.

Method Summary

protected AbstractDocument.AbstractElement
createDefaultRoot()
Element
getDefaultRootElement()
Returns the default root Element of this Document.
Element
getParagraphElement(int pos)
Returns the paragraph Element that holds the specified position.
void
insertString(int offs, String str, AttributeSet atts)
Inserts a string into the document.
protected void
insertUpdate(AbstractDocument.DefaultDocumentEvent event, AttributeSet attributes)
Called to indicate that text has been inserted into this Document.
protected void
removeUpdate(AbstractDocument.DefaultDocumentEvent event)
Called before some content gets removed from this Document.

Methods inherited from class javax.swing.text.AbstractDocument

Object> getDocumentProperties, addDocumentListener, addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, extends EventListener> T[] getListeners, fireChangedUpdate, fireInsertUpdate, fireRemoveUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDefaultRootElement, getDocumentFilter, getDocumentListeners, getEndPosition, getLength, getParagraphElement, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, insertString, insertUpdate, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeDocumentListener, removeUndoableEditListener, removeUpdate, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

lineLimitAttribute

public static final String lineLimitAttribute
Field Value:
"lineLimit"

tabSizeAttribute

public static final String tabSizeAttribute
Field Value:
"tabSize"

Constructor Details

PlainDocument

public PlainDocument()
The basic constructor. Object is special, because it has no superclass, so there is no call to super().

PlainDocument

public PlainDocument(AbstractDocument.Content content)
Creates a new AbstractDocument with the specified AbstractDocument.Content model.
Parameters:

Method Details

createDefaultRoot

protected AbstractDocument.AbstractElement createDefaultRoot()

getDefaultRootElement

public Element getDefaultRootElement()
Returns the default root Element of this Document. Usual Documents only have one root element and return this. However, there may be Document implementations that support multiple root elements, they have to return a default root element here.
Specified by:
getDefaultRootElement in interface Document
Overrides:
getDefaultRootElement in interface AbstractDocument
Returns:
the default root Element of this Document

getParagraphElement

public Element getParagraphElement(int pos)
Returns the paragraph Element that holds the specified position.
Overrides:
getParagraphElement in interface AbstractDocument
Parameters:
pos - the position for which to get the paragraph element
Returns:
the paragraph Element that holds the specified position

insertString

public void insertString(int offs,
                         String str,
                         AttributeSet atts)
            throws BadLocationException
Inserts a string into the document. If the document property 'filterNewLines' is set to Boolean.TRUE, then all newlines in the inserted string are replaced by space characters, otherwise the superclasses behaviour is executed. Inserting content causes a write lock to be acquired during this method call.
Specified by:
insertString in interface Document
Overrides:
insertString in interface AbstractDocument
Parameters:
offs - the offset at which to insert the string
str - the string to be inserted
atts - the text attributes of the string to be inserted

insertUpdate

protected void insertUpdate(AbstractDocument.DefaultDocumentEvent event,
                            AttributeSet attributes)
Called to indicate that text has been inserted into this Document. The default implementation does nothing. This method is executed within a write lock.
Overrides:
insertUpdate in interface AbstractDocument
Parameters:

removeUpdate

protected void removeUpdate(AbstractDocument.DefaultDocumentEvent event)
Called before some content gets removed from this Document. The default implementation does nothing but may be overridden by subclasses to modify the Document structure in response to a remove request. The method is executed within a write lock.
Overrides:
removeUpdate in interface AbstractDocument
Parameters:

PlainDocument.java -- Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.