|
CubeTwister 2.0alpha142 2012-02-11 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectch.randelshofer.gui.text.DocumentProxy
public class DocumentProxy
This class is designed to be less memory expensive than a standard Document object. This class tries to represent the document in form of a char array. If the document is in use, the char array is converted into a PlainDocument. If the document is no longer in use, then the PlainDocument is converted back into a char array.
| Field Summary |
|---|
| Fields inherited from interface javax.swing.text.Document |
|---|
StreamDescriptionProperty, TitleProperty |
| Constructor Summary | |
|---|---|
DocumentProxy()
Creates new DocumentProxy. |
|
| Method Summary | |
|---|---|
void |
addChangeListener(javax.swing.event.ChangeListener listener)
Registers the given observer to begin receiving notifications when changes are made to the document. |
void |
addDocumentListener(javax.swing.event.DocumentListener listener)
Registers the given observer to begin receiving notifications when changes are made to the document. |
void |
addUndoableEditListener(javax.swing.event.UndoableEditListener listener)
Registers the given observer to begin receiving notifications when undoable edits are made to the document. |
void |
changedUpdate(javax.swing.event.DocumentEvent e)
Gives notification that an attribute or set of attributes changed. |
java.lang.Object |
clone()
Returns a clone of this object. |
protected javax.swing.text.Document |
createDocumentModel()
|
javax.swing.text.Position |
createPosition(int offs)
This method allows an application to mark a place in a sequence of character content. |
void |
fireChangedUpdate(javax.swing.event.DocumentEvent evt)
Notify all listeners that have registered interest for notification on this event type. |
void |
fireInsertUpdate(javax.swing.event.DocumentEvent evt)
Notify all listeners that have registered interest for notification on this event type. |
void |
fireRemoveUpdate(javax.swing.event.DocumentEvent evt)
Notify all listeners that have registered interest for notification on this event type. |
void |
fireStateChanged()
Notify all listeners that have registered interest for notification on this event type. |
void |
fireUndoableEditHappened(javax.swing.undo.UndoableEdit edit)
Notify all listeners that have registered interest for notification on this event type. |
protected void |
flushDocumentModel()
|
javax.swing.text.Element |
getDefaultRootElement()
Returns the root element that views should be based upon, unless some other mechanism for assigning views to element structures is provided. |
protected javax.swing.text.Document |
getDocumentModel()
|
javax.swing.text.Position |
getEndPosition()
Returns a position that represents the end of the document. |
int |
getLength()
Returns number of characters of content currently in the document. |
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()
|
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. |
boolean |
hasDocumentListeners()
Counts all registered DocumentListeners and all registered UndoableEditListeners. |
void |
insertString(int offset,
java.lang.String str,
javax.swing.text.AttributeSet a)
Inserts a string of content. |
void |
insertUpdate(javax.swing.event.DocumentEvent e)
Gives notification that there was an insert into the document. |
void |
putProperty(java.lang.Object key,
java.lang.Object value)
Puts a new property on the list. |
void |
remove(int offs,
int len)
Removes a portion of the content of the document. |
void |
removeChangeListener(javax.swing.event.ChangeListener listener)
Unregisters the given observer from the notification list so it will no longer receive updates. |
void |
removeDocumentListener(javax.swing.event.DocumentListener listener)
Unregisters the given observer from the notification list so it will no longer receive change updates. |
void |
removeUndoableEditListener(javax.swing.event.UndoableEditListener listener)
Unregisters the given observer from the notification list so it will no longer receive updates. |
void |
removeUpdate(javax.swing.event.DocumentEvent e)
Gives notification that a portion of the document has been removed. |
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 |
setText(java.lang.String text)
|
void |
undoableEditHappened(javax.swing.event.UndoableEditEvent e)
An undoable edit happened |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DocumentProxy()
| Method Detail |
|---|
public javax.swing.text.Position createPosition(int offs)
throws javax.swing.text.BadLocationException
createPosition in interface javax.swing.text.Documentoffs - 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 getDefaultRootElement()
getDefaultRootElement in interface javax.swing.text.Documentpublic javax.swing.text.Position getEndPosition()
getEndPosition in interface javax.swing.text.Documentpublic int getLength()
getLength in interface javax.swing.text.Documentpublic java.lang.Object getProperty(java.lang.Object key)
getProperty in interface javax.swing.text.Documentkey - a non-null property
public javax.swing.text.Element[] getRootElements()
Typically there will be only one document structure, but the interface supports building an arbitrary number of structural projections over the text data. The document can have multiple root elements to support multiple document structures. Some examples might be:
getRootElements in interface javax.swing.text.Documentpublic javax.swing.text.Position getStartPosition()
getStartPosition in interface javax.swing.text.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 void insertString(int offset,
java.lang.String str,
javax.swing.text.AttributeSet a)
throws javax.swing.text.BadLocationException
If the Document structure changed as result of the insertion, the details of what Elements were inserted and removed in response to the change will also be contained in the generated DocumentEvent. It is up to the implementation of a Document to decide how the structure should change in response to an insertion.
If the Document supports undo/redo, an UndoableEditEvent will also be generated.
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 inserta - 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 documentDocumentEvent,
DocumentListener,
UndoableEditEvent,
UndoableEditListener
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 value
public void remove(int offs,
int len)
throws javax.swing.text.BadLocationException
To ensure reasonable behavior in the face of concurrency, the event is dispatched after the mutation has occurred. This means that by the time a notification of removal is dispatched, the document has already been updated and any marks created by createPosition have already changed. For a removal, the end of the removal range is collapsed down to the start of the range, and any marks in the removal range are collapsed down to the start of the range.
If the Document structure changed as result of the removal, the details of what Elements were inserted and removed in response to the change will also be contained in the generated DocumentEvent. It is up to the implementation of a Document to decide how the structure should change in response to a remove.
If the Document supports undo/redo, an UndoableEditEvent will also be generated.
remove in interface javax.swing.text.Documentoffs - the offset from the begining >= 0len - 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.DocumentEvent,
DocumentListener,
UndoableEditEvent,
UndoableEditListenerpublic void addDocumentListener(javax.swing.event.DocumentListener listener)
addDocumentListener in interface javax.swing.text.Documentlistener - the observer to registerDocument.removeDocumentListener(javax.swing.event.DocumentListener)public void addUndoableEditListener(javax.swing.event.UndoableEditListener listener)
addUndoableEditListener in interface javax.swing.text.Documentlistener - the observer to registerUndoableEditEventpublic void addChangeListener(javax.swing.event.ChangeListener listener)
listener - the observer to registerDocument.removeDocumentListener(javax.swing.event.DocumentListener)public void removeDocumentListener(javax.swing.event.DocumentListener listener)
removeDocumentListener in interface javax.swing.text.Documentlistener - the observer to registerDocument.addDocumentListener(javax.swing.event.DocumentListener)public void removeUndoableEditListener(javax.swing.event.UndoableEditListener listener)
removeUndoableEditListener in interface javax.swing.text.Documentlistener - the observer to removeUndoableEditEventpublic void removeChangeListener(javax.swing.event.ChangeListener listener)
listener - the observer to removeUndoableEditEventpublic void render(java.lang.Runnable r)
render in interface javax.swing.text.Documentr - a Runnable used to render the modelpublic void setText(java.lang.String text)
public java.lang.String getText()
protected javax.swing.text.Document getDocumentModel()
protected javax.swing.text.Document createDocumentModel()
protected void flushDocumentModel()
public void fireUndoableEditHappened(javax.swing.undo.UndoableEdit edit)
public void fireStateChanged()
public void fireInsertUpdate(javax.swing.event.DocumentEvent evt)
public void fireRemoveUpdate(javax.swing.event.DocumentEvent evt)
public void fireChangedUpdate(javax.swing.event.DocumentEvent evt)
public boolean hasDocumentListeners()
public java.lang.Object clone()
clone in class java.lang.Objectpublic void removeUpdate(javax.swing.event.DocumentEvent e)
removeUpdate in interface javax.swing.event.DocumentListenere - the document eventpublic void insertUpdate(javax.swing.event.DocumentEvent e)
insertUpdate in interface javax.swing.event.DocumentListenere - the document eventpublic void changedUpdate(javax.swing.event.DocumentEvent e)
changedUpdate in interface javax.swing.event.DocumentListenere - the document eventpublic void undoableEditHappened(javax.swing.event.UndoableEditEvent e)
undoableEditHappened in interface javax.swing.event.UndoableEditListener
|
(c) Werner Randelshofer. All rights reserved. |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||