Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.jface.text
Interface IDocumentExtension4

All Known Implementing Classes:
AbstractDocument, ChildDocument, Document, ProjectionDocument

public interface IDocumentExtension4

Extension interface for IDocument. It adds the following concepts:

  • Rewrite sessions. A rewrite session is a sequence of replace operations that form a semantic unit.
  • A modification stamp on the document
  • The ability to set the initial line delimiter and to query the default line delimiter

Since:
3.1

Field Summary
static long UNKNOWN_MODIFICATION_STAMP
          The unknown modification stamp.
 
Method Summary
 void addDocumentRewriteSessionListener ( IDocumentRewriteSessionListener listener)
          Registers the document rewrite session listener with the document.
  DocumentRewriteSession getActiveRewriteSession ()
          Returns the active rewrite session of this document or null.
  String getDefaultLineDelimiter ()
          Returns this document's default line delimiter.
 long getModificationStamp ()
          Returns the modification stamp of this document.
 void removeDocumentRewriteSessionListener ( IDocumentRewriteSessionListener listener)
          Removes the listener from the document's list of document rewrite session listeners.
 void replace (int offset, int length, String text, long modificationStamp)
          Substitutes the given text for the specified document range.
 void set ( String text, long modificationStamp)
          Replaces the content of the document with the given text.
 void setInitialLineDelimiter ( String lineDelimiter)
          Sets this document's initial line delimiter i.e. the one which is returned by getDefaultLineDelimiter if the document does not yet contain any line delimiter.
  DocumentRewriteSession startRewriteSession ( DocumentRewriteSessionType sessionType)
          Tells the document that it is about to be rewritten.
 void stopRewriteSession ( DocumentRewriteSession session)
          Tells the document to stop the rewrite session.
 

Field Detail

UNKNOWN_MODIFICATION_STAMP

static final long UNKNOWN_MODIFICATION_STAMP
The unknown modification stamp.

See Also:
Constant Field Values
Method Detail

startRewriteSession

DocumentRewriteSession startRewriteSession(
DocumentRewriteSessionType sessionType)
                                           throws 
IllegalStateException
Tells the document that it is about to be rewritten. That is, a sequence of replace operations that form a semantic unit will be performed on this document. A specification of the nature of the operation sequence is given in form of the session type.

The document is considered being in rewrite mode as long as stopRewriteSession has not been called.

Parameters:
sessionType - the session type
Returns:
the started rewrite session
Throws:
IllegalStateException - in case there is already an active rewrite session

stopRewriteSession

void stopRewriteSession(
DocumentRewriteSession session)
Tells the document to stop the rewrite session. This method has only any effect if startRewriteSession has been called before.

This method does not have any effect if the given session is not the active rewrite session.

Parameters:
session - the session to stop

getActiveRewriteSession

DocumentRewriteSession getActiveRewriteSession()
Returns the active rewrite session of this document or null.

Returns:
the active rewrite session or null

addDocumentRewriteSessionListener

void addDocumentRewriteSessionListener(
IDocumentRewriteSessionListener listener)
Registers the document rewrite session listener with the document. After registration the IDocumentRewriteSessionListener is informed about each state change of rewrite sessions performed on this document.

If the listener is already registered nothing happens.

An IRewriteSessionDocumentListener may call back to this document when being inside a document notification.

Parameters:
listener - the listener to be registered

removeDocumentRewriteSessionListener

void removeDocumentRewriteSessionListener(
IDocumentRewriteSessionListener listener)
Removes the listener from the document's list of document rewrite session listeners. If the listener is not registered with the document nothing happens.

An IDocumentRewriteSessionListener may call back to this document when being inside a document notification.

Parameters:
listener - the listener to be removed

replace

void replace(int offset,
             int length,
             
String text,
             long modificationStamp)
             throws 
BadLocationException
Substitutes the given text for the specified document range. Sends a DocumentEvent to all registered IDocumentListener.

Parameters:
offset - the document offset
length - the length of the specified range
text - the substitution text
modificationStamp - of the document after replacing
Throws:
BadLocationException - if the offset is invalid in this document
See Also:
DocumentEvent, IDocumentListener

set

void set(
String text,
         long modificationStamp)
Replaces the content of the document with the given text. Sends a DocumentEvent to all registered IDocumentListener. This method is a convenience method for replace(0, getLength(), text).

Parameters:
text - the new content of the document
modificationStamp - of the document after setting the content
See Also:
DocumentEvent, IDocumentListener

getModificationStamp

long getModificationStamp()
Returns the modification stamp of this document. The modification stamp is updated each time a modifying operation is called on this document. If two modification stamps of the same document are identical then the document content is too, however, same content does not imply same modification stamp.

The magnitude or sign of the numerical difference between two modification stamps is not significant.

Returns:
the modification stamp of this document or UNKNOWN_MODIFICATION_STAMP

getDefaultLineDelimiter

String getDefaultLineDelimiter()
Returns this document's default line delimiter.

This default line delimiter should be used by clients who want unique delimiters (e.g. 'CR's) in the document.

Returns:
the default line delimiter or null if none

setInitialLineDelimiter

void setInitialLineDelimiter(
String lineDelimiter)
Sets this document's initial line delimiter i.e. the one which is returned by getDefaultLineDelimiter if the document does not yet contain any line delimiter.

Parameters:
lineDelimiter - the default line delimiter

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire