|
Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference 11g Release 1 (11.1.1.4.0) E13403-05 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectoracle.javatools.editor.BasicDocument
public class BasicDocument
A BasicDocument is an implementation of the
Document interface, similar to "PlainDocument" without
the extra overhead of the Element structures for maintaining line
number information, and with a different text buffer
implementation. This document does not maintain any attribute
information currently.
Each BasicDocument instance has an associated
LanguageSupport that adds extra document support
specific to a given document language, such as Java or HTML. The
LanguageSupport for a document is set up using the
provided filename through suffix mapping, or by explicitly
setting the LanguageSupport by calling
setLanguageSupport() with a LanguageSupport
instance.
Like the Swing text document implementations, this document
implementation provides support for UndoableEdit's. The document
relies on the underlying TextBuffer for generating
the UndoableEdit's. Note that UndoableEdit's are fired by this
document only for edits initiated through this document. Edits
performed on the TextBuffer directly apart from this document
will not result in an UndoableEdit through this document.
Note that the compound edit support here in BasicDocument
has been deprecated. Clients should use the edit support in
BasicEditorPane instead, which also includes support
for specifying an edit name (for display) and for saving caret
position information with the UndoableEdit. Please
refer for information regarding undo support.
Lastly, please note that this document implementation currently does not support composed or bidi text input due to the model changes to optimize memory use and performance. This is an open issue that will be addressed soon.
LanguageSupport| Nested Class Summary | |
|---|---|
static interface |
BasicDocument.PrePostDocumentListener
The PrePostDocumentListener is a listener interface that
allows secondary models (such as a DocumentRenderer or CodeFoldingModel)
to be notified before and/or after regular document notification. |
| Field Summary | |
|---|---|
static java.lang.String |
eolTypePropertyName
public constant for the eol type property name. |
static java.lang.String |
readOnlyPropertyName
Public constant for the read only property name. |
| Fields inherited from interface javax.swing.text.Document |
|---|
StreamDescriptionProperty, TitleProperty |
| Fields inherited from interface oracle.javatools.buffer.TextBufferListener |
|---|
EOL_TYPE_ATTRIBUTE, MODIFIED_ATTRIBUTE, READ_ONLY_ATTRIBUTE, RELOAD_END_ATTRIBUTE, RELOAD_START_ATTRIBUTE |
| Constructor Summary | |
|---|---|
BasicDocument()
Create a new default BasicDocument. |
|
BasicDocument(java.lang.String fileName)
Creates a plain text document - this uses the the default TextBuffer implementation as the underlying data model. |
|
BasicDocument(java.lang.String fileName,
TextBuffer buffer)
Creates a plain text document using the buffer provider specified. |
|
BasicDocument(TextBuffer buffer)
Create a new BasicDocument using the provided buffer. |
|
| Method Summary | |
|---|---|
void |
addDocumentListener(javax.swing.event.DocumentListener listener)
Registers the given listener to begin receiving notifications when changes are made to the document. |
void |
addPrePostDocumentListener(BasicDocument.PrePostDocumentListener listener)
Registers the given listener to begin receiving pre/post notifications. |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Add a PropertyChangeListener to the listener list. |
void |
addUndoableEditListener(javax.swing.event.UndoableEditListener listener)
Registers the given listener to begin receiving notifications when undoable edits are made to the document. |
void |
attributeUpdate(TextBuffer buffer,
int attribute)
Provides notification regarding a change to one of the buffer attributes. |
void |
beginEdit()
Deprecated. all edits (compound or otherwise) made to the document related to an editor pane should be initiated through BasicEditorPane.beginEdit() |
javax.swing.text.Position |
createPosition(int offset)
This method allows an application to mark a place in a sequence of character content. |
void |
endEdit()
Deprecated. all edits (compound or otherwise) made to the document related to an editor pane should be ended through BasicEditorPane.endEdit() |
void |
firePropertyChange(java.lang.String propertyName,
java.lang.Object oldValue,
java.lang.Object newValue)
Report a bound property update to any registered listeners. |
protected void |
fireUndoableEditEvent(javax.swing.undo.UndoableEdit edit)
An internal utility routine to fire UndoableEdit events that are generated by this document to the undoable edit listeners. |
protected NumberRange |
getComposedTextRange()
Fetch the current range of composed text input - this is generally uncommitted text. |
javax.swing.text.Element |
getDefaultRootElement()
Fetches the default root element for this document. |
DocumentRenderer |
getDocumentRenderer()
Fetches the document renderer from the language support for this document. |
javax.swing.text.Position |
getEndPosition()
Returns a position that represents the end of the document. |
LanguageSupport |
getLanguageSupport()
Fetches the LanguageSupport associated with this document. |
int |
getLength()
Returns number of characters of data currently in the document. |
int |
getLineCount()
Fetches the number of lines in this TextBuffer. |
int |
getLineEndOffset(int line)
Given a specified line, returns the offset from the beginning of a TextBuffer that the line ends at. |
int |
getLineFromOffset(int offset)
Given an offset from the beginning of the underlying TextBuffer, fetches the line number containing that
offset using a Forward bias. |
LineMap |
getLineMap()
Fetches a line map for this document for calculating line positions. |
int |
getLineStartOffset(int line)
Given a specified line, returns the offset from the beginning of the TextBuffer for the start of the line. |
javax.swing.text.Element |
getParagraphElement(int pos)
Get the paragraph element containing the given position. |
java.lang.Object |
getProperty(java.lang.Object key)
Gets properties associated with the document. |
javax.swing.text.Element[] |
getRootElements()
Returns all of the root elements that are defined. |
javax.swing.text.Position |
getStartPosition()
Returns a position that represents the start of the document. |
java.lang.String |
getText(int offset,
int length)
Fetches the text contained within the given portion of the document. |
void |
getText(int offset,
int length,
javax.swing.text.Segment txt)
Fetches the text contained within the given portion of the document. |
TextBuffer |
getTextBuffer()
Fetches the underlying Content of this document. |
void |
insertString(int offset,
java.lang.String str,
javax.swing.text.AttributeSet set)
Inserts a string into the document. |
void |
insertUpdate(TextBuffer buffer,
int offset,
int count,
char[] insertedData)
Provides notification about an insertion into the text buffer. |
void |
propertyChange(java.beans.PropertyChangeEvent event)
This method gets called when a bound property is changed. |
void |
putProperty(java.lang.Object key,
java.lang.Object value)
Puts a new property on the list. |
void |
readLock()
Attempts to acquire a read lock on this document and the underlying text buffer - this is a blocking call. |
void |
readUnlock()
Releases a held read lock on this Document. |
void |
remove(int offset,
int length)
Removes a portion of the content of the document. |
void |
removeDocumentListener(javax.swing.event.DocumentListener listener)
Unregisters the given listener from the notification list so it will no longer receive change updates. |
void |
removePrePostDocumentListener(BasicDocument.PrePostDocumentListener listener)
Unregisters the given listener from receiving pre/post notifications. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Remove a PropertyChangeListener from the listener list. |
void |
removeUndoableEditListener(javax.swing.event.UndoableEditListener listener)
Unregisters the given listener from the notification list so it will no longer receive updates. |
void |
removeUpdate(TextBuffer buffer,
int offset,
int count,
char[] removedData)
Provides notification about a removal from the text buffer. |
void |
render(java.lang.Runnable r)
This allows the model to be safely rendered in the presence of currency, if the model supports being updated asynchronously. |
void |
setLanguageSupport(LanguageSupport support)
Set the LanguageSupport used by this document to the specified one. |
void |
setLanguageSupport(java.lang.String fileName)
Sets the LanguageSupport for editing the type of content indicated by the specified filename. |
void |
writeLock()
Attempts to acquire a write lock on this document and the underlying text buffer - this is a blocking call. |
void |
writeLock(boolean checkIfReadOnly)
Attempts to acquire a write lock on this document and the underlying text buffer - this is a blocking call. |
void |
writeUnlock()
Releases a held write lock on this Document. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String readOnlyPropertyName
public static final java.lang.String eolTypePropertyName
| Constructor Detail |
|---|
public BasicDocument()
BasicDocument.
public BasicDocument(java.lang.String fileName)
fileName - the file name to use when creating a language support
public BasicDocument(java.lang.String fileName,
TextBuffer buffer)
fileName - the file name to use when creating a language supportbuffer - the text bufer to use as the document modelpublic BasicDocument(TextBuffer buffer)
BasicDocument using the provided buffer.
buffer - the text buffer to use as the document model| Method Detail |
|---|
protected NumberRange getComposedTextRange()
public TextBuffer getTextBuffer()
public void setLanguageSupport(java.lang.String fileName)
fileName - the name of the filepublic void setLanguageSupport(LanguageSupport support)
support - the LanguageSupport to usepublic LanguageSupport getLanguageSupport()
public DocumentRenderer getDocumentRenderer()
public void beginEdit()
BasicEditorPane.beginEdit()
BasicEditorPane instance, use
BasicEditorPane.beginEdit() instead so that caret
information can also be preserved.
TextBuffer.beginEdit(),
TextBuffer.endEdit()public void endEdit()
BasicEditorPane.endEdit()
TextBuffer.beginEdit(),
TextBuffer.endEdit()public void readLock()
ReadTextBuffer.readLock(),
TextBuffer.writeLock()public void readUnlock()
public void writeLock()
ReadOnlyException - if the buffer is in read only mode.ReadTextBuffer.readLock(),
TextBuffer.writeLock()public void writeLock(boolean checkIfReadOnly)
ReadOnlyException - if the buffer is in read only mode and
checkIfReadOnly is trueReadTextBuffer.readLock(),
TextBuffer.writeLock()public void writeUnlock()
public int getLineCount()
TextBuffer. For
example, a 5-line TextBuffer has lines 0 through 4.
TextBufferpublic int getLineFromOffset(int offset)
TextBuffer, fetches the line number containing that
offset using a Forward bias. This means if line A starts with
offset B, and previous line A-1 ends with offset B,
getLineFromOffset(B) will return line A.
public int getLineStartOffset(int line)
TextBuffer for the start of the line.
line - a line in the TextBuffer
public int getLineEndOffset(int line)
TextBuffer that the line ends at.
line - a line in the TextBufferthe - ending offset of the specified linepublic javax.swing.text.Element getParagraphElement(int pos)
public javax.swing.text.Element getDefaultRootElement()
getDefaultRootElement in interface javax.swing.text.Documentpublic LineMap getLineMap()
public int getLength()
getLength in interface javax.swing.text.Document
public void remove(int offset,
int length)
throws javax.swing.text.BadLocationException
remove in interface javax.swing.text.Documentoffset - the offset from the begining >= 0length - the number of characters to remove >= 0
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.
public void insertString(int offset,
java.lang.String str,
javax.swing.text.AttributeSet set)
throws javax.swing.text.BadLocationException
insertString in interface javax.swing.text.Documentoffset - the offset into the document to insert the content >= 0.
All positions that track change at or after the given location
will move.str - the string to insertset - the attributes to associate with the inserted
content. This may be null if there are no attributes.
javax.swing.text.BadLocationException - the given insert position is not a valid
position within the document
public java.lang.String getText(int offset,
int length)
throws javax.swing.text.BadLocationException
getText in interface javax.swing.text.Documentoffset - the offset into the document representing the desired
start of the text >= 0length - the length of the desired string >= 0
javax.swing.text.BadLocationException - some portion of the given range
was not a valid part of the document. The location in the exception
is the first bad position encountered.
public void getText(int offset,
int length,
javax.swing.text.Segment txt)
throws javax.swing.text.BadLocationException
getText in interface javax.swing.text.Documentoffset - the offset into the document representing the desired
start of the text >= 0length - the length of the desired string >= 0txt - the Segment object to return the text in
javax.swing.text.BadLocationException - Some portion of the given range
was not a valid part of the document. The location in the exception
is the first bad position encountered.public javax.swing.text.Position getStartPosition()
getStartPosition in interface javax.swing.text.Documentpublic javax.swing.text.Position getEndPosition()
getEndPosition in interface javax.swing.text.Document
public javax.swing.text.Position createPosition(int offset)
throws javax.swing.text.BadLocationException
createPosition in interface javax.swing.text.Documentoffset - the offset from the start of the document >= 0
javax.swing.text.BadLocationException - if the given position does not
represent a valid location in the associated documentpublic javax.swing.text.Element[] getRootElements()
getRootElements in interface javax.swing.text.Documentpublic void render(java.lang.Runnable r)
render in interface javax.swing.text.Documentr - a Runnable used to render the modelpublic void addDocumentListener(javax.swing.event.DocumentListener listener)
addDocumentListener in interface javax.swing.text.Documentlistener - the listener to registerDocument.removeDocumentListener(javax.swing.event.DocumentListener)public void removeDocumentListener(javax.swing.event.DocumentListener listener)
removeDocumentListener in interface javax.swing.text.Documentlistener - the listener to registerDocument.addDocumentListener(javax.swing.event.DocumentListener)public void addUndoableEditListener(javax.swing.event.UndoableEditListener listener)
addUndoableEditListener in interface javax.swing.text.Documentlistener - the listener to registerUndoableEditEventpublic void removeUndoableEditListener(javax.swing.event.UndoableEditListener listener)
removeUndoableEditListener in interface javax.swing.text.Documentlistener - the listener to registerUndoableEditEventpublic void propertyChange(java.beans.PropertyChangeEvent event)
propertyChange in interface java.beans.PropertyChangeListenerevent - A PropertyChangeEvent object describing the event source
and the property that has changed.public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Note that this listener is stored using a WeakReference. This is intentional as part of the editor framework design, to avoid pinning certain UI objects in memory permanently.
listener - The PropertyChangeListener to be addedpublic void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
listener - The PropertyChangeListener to be removed
public void firePropertyChange(java.lang.String propertyName,
java.lang.Object oldValue,
java.lang.Object newValue)
propertyName - The programmatic name of the property
that was changed.oldValue - The old value of the property.newValue - The new value of the property.public java.lang.Object getProperty(java.lang.Object key)
getProperty in interface javax.swing.text.Documentkey - a non-null property
public void putProperty(java.lang.Object key,
java.lang.Object value)
putProperty in interface javax.swing.text.Documentkey - the non-null property keyvalue - the property publicprotected void fireUndoableEditEvent(javax.swing.undo.UndoableEdit edit)
edit - the UndoableEdit generated
public void insertUpdate(TextBuffer buffer,
int offset,
int count,
char[] insertedData)
insertUpdate in interface TextBufferListenerbuffer - offset - the offset where the insert took placecount - the number of characters inserted (insertedData.length)insertedData - the contents of the insertion
public void removeUpdate(TextBuffer buffer,
int offset,
int count,
char[] removedData)
removeUpdate in interface TextBufferListenerbuffer - offset - the offset where the removal took placecount - the number of characters removed (removedData.length)removedData - the contents of the removal
public void attributeUpdate(TextBuffer buffer,
int attribute)
attributeUpdate in interface TextBufferListenerbuffer - attribute - the attribute that changedpublic void addPrePostDocumentListener(BasicDocument.PrePostDocumentListener listener)
listener - the listener to registerpublic void removePrePostDocumentListener(BasicDocument.PrePostDocumentListener listener)
listener - the listener to register
|
Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference 11g Release 1 (11.1.1.4.0) E13403-05 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||