javax.swing.text

Interface Document

Known Subinterfaces:
StyledDocument
Known Implementing Classes:
AbstractDocument, DefaultStyledDocument, HTMLDocument, PlainDocument

public interface Document

A Document is the model that backs up all text components in Swing. This interface supports different kinds of implementations, from simple plain text model up to complex styled HTML or RTF models.

Field Summary

static String
StreamDescriptionProperty
The key for the property that describes the source of a document.
static String
TitleProperty
The key for the property that is the title of a document.

Method Summary

void
addDocumentListener(DocumentListener listener)
Adds a DocumentListener to this document.
void
addUndoableEditListener(UndoableEditListener listener)
Adds an UndoableEditListener to this document.
Position
createPosition(int offs)
Creates a mark in the character content at the specified offset.
Element
getDefaultRootElement()
Returns the default root element.
Position
getEndPosition()
Returns the position that marks the end of the document.
int
getLength()
Returns the length of the document content.
Object
getProperty(Object key)
Returns a document property with the specified key.
Element[]
getRootElements()
Returns the root elements of the document content.
Position
getStartPosition()
Returns the position that marks the beginning of the document content.
String
getText(int offset, int length)
Returns the textual content starting at offset with a length of length.
void
getText(int offset, int length, Segment txt)
Fetch the textual content starting at offset with a length of length and store it in txt.
void
insertString(int offset, String str, AttributeSet a)
Inserts a piece of text with an AttributeSet at the specified offset.
void
putProperty(Object key, Object value)
Sets a document property.
void
remove(int offs, int len)
Removes a piece of content.
void
removeDocumentListener(DocumentListener listener)
Removes a DocumentListener from this Document.
void
removeUndoableEditListener(UndoableEditListener listener)
Removes an UndoableEditListener from this Document.
void
render(Runnable r)
This allows the Document to be rendered safely.

Field Details

StreamDescriptionProperty

public static final String StreamDescriptionProperty
The key for the property that describes the source of a document.
Field Value:
"stream"

TitleProperty

public static final String TitleProperty
The key for the property that is the title of a document.
Field Value:
"title"

Method Details

addDocumentListener

public void addDocumentListener(DocumentListener listener)
Adds a DocumentListener to this document.
Parameters:
listener - the DocumentListener to add

addUndoableEditListener

public void addUndoableEditListener(UndoableEditListener listener)
Adds an UndoableEditListener to this document.
Parameters:
listener - the UndoableEditListener to add

createPosition

public Position createPosition(int offs)
            throws BadLocationException
Creates a mark in the character content at the specified offset.
Parameters:
offs - the offset where to place the mark
Returns:
the created Position object
Throws:
BadLocationException - of the specified offset is not a valid position in the documents content

getDefaultRootElement

public Element getDefaultRootElement()
Returns the default root element. Views should be using this element unless other mechanisms for assigning views to element structure is provided.
Returns:
the default root element

getEndPosition

public Position getEndPosition()
Returns the position that marks the end of the document.
Returns:
the position that marks the end of the document

getLength

public int getLength()
Returns the length of the document content.
Returns:
the length of the document content

getProperty

public Object getProperty(Object key)
Returns a document property with the specified key.
Parameters:
key - the (non-null) key for the property to fetch
Returns:
the property for key or null if no such property is stored

getRootElements

public Element[] getRootElements()
Returns the root elements of the document content.
Returns:
the root elements of the document content

getStartPosition

public Position getStartPosition()
Returns the position that marks the beginning of the document content.
Returns:
the start position

getText

public String getText(int offset,
                      int length)
            throws BadLocationException
Returns the textual content starting at offset with a length of length.
Parameters:
offset - the beginning of the text fragment to fetch
length - the length of the text fragment to fetch
Returns:
the text fragment starting at offset with a length of length
Throws:
BadLocationException - if offset or length are no valid locations in the document content

getText

public void getText(int offset,
                    int length,
                    Segment txt)
            throws BadLocationException
Fetch the textual content starting at offset with a length of length and store it in txt.
Parameters:
offset - the beginning of the text fragment to fetch
length - the length of the text fragment to fetch
txt - the Segment where to store the text fragment
Throws:
BadLocationException - if offset or length are no valid locations in the document content

insertString

public void insertString(int offset,
                         String str,
                         AttributeSet a)
            throws BadLocationException
Inserts a piece of text with an AttributeSet at the specified offset.
Parameters:
offset - the location where to insert the content
str - the textual content to insert
a - the Attributes associated with the piece of text
Throws:
BadLocationException - if offset is not a valid location in the document content

putProperty

public void putProperty(Object key,
                        Object value)
Sets a document property.
Parameters:
key - the key of the property
value - the value of the property

remove

public void remove(int offs,
                   int len)
            throws BadLocationException
Removes a piece of content.
Parameters:
offs - the location of the fragment to remove
len - the length of the fragment to remove
Throws:
BadLocationException - if offs or len are no valid locations in the document content

removeDocumentListener

public void removeDocumentListener(DocumentListener listener)
Removes a DocumentListener from this Document.
Parameters:
listener - the DocumentListener to remove

removeUndoableEditListener

public void removeUndoableEditListener(UndoableEditListener listener)
Removes an UndoableEditListener from this Document.
Parameters:
listener - the UndoableEditListener to remove

render

public void render(Runnable r)
This allows the Document to be rendered safely. It is made sure that the Runnable can read the document without any changes while reading. The Runnable is not allowed to change the Document itself.
Parameters:
r - the Runnable that renders the Document

Document.java -- Copyright (C) 2002, 2004, 2005 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.