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 IDocumentExtension3

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

public interface IDocumentExtension3

Extension interface for IDocument.

Adds the concept of multiple partitionings and the concept of zero-length partitions in conjunction with open and delimited partitions. A delimited partition has a well defined start delimiter and a well defined end delimiter. Between two delimited partitions there may be an open partition of length zero.

In order to fulfill the contract of this interface, the document must be configured with a document partitioner implementing IDocumentPartitionerExtension2.

Since:
3.0
See Also:
IDocumentPartitionerExtension2

Field Summary
static  String DEFAULT_PARTITIONING
          The identifier of the default partitioning.
 
Method Summary
  ITypedRegion[] computePartitioning ( String partitioning, int offset, int length, boolean includeZeroLengthPartitions)
          Computes the partitioning of the given document range based on the given partitioning type.
  String getContentType ( String partitioning, int offset, boolean preferOpenPartitions)
          Returns the type of the document partition containing the given offset for the given partitioning.
  IDocumentPartitioner getDocumentPartitioner ( String partitioning)
          Returns the partitioner for the given partitioning or null if no partitioner is registered.
  String[] getLegalContentTypes ( String partitioning)
          Returns the set of legal content types of document partitions for the given partitioning This set can be empty.
  ITypedRegion getPartition ( String partitioning, int offset, boolean preferOpenPartitions)
          Returns the document partition of the given partitioning in which the given offset is located.
  String[] getPartitionings ()
          Returns the existing partitionings for this document.
 void setDocumentPartitioner ( String partitioning, IDocumentPartitioner partitioner)
          Sets this document's partitioner.
 

Field Detail

DEFAULT_PARTITIONING

static final 
String DEFAULT_PARTITIONING
The identifier of the default partitioning.

See Also:
Constant Field Values
Method Detail

getPartitionings

String[] getPartitionings()
Returns the existing partitionings for this document. This includes the default partitioning.

Returns:
the existing partitionings for this document

getLegalContentTypes

String[] getLegalContentTypes(
String partitioning)
                              throws 
BadPartitioningException
Returns the set of legal content types of document partitions for the given partitioning This set can be empty. The set can contain more content types than contained by the result of getPartitioning(partitioning, 0, getLength()).

Parameters:
partitioning - the partitioning for which to return the legal content types
Returns:
the set of legal content types
Throws:
BadPartitioningException - if partitioning is invalid for this document

getContentType

String getContentType(
String partitioning,
                      int offset,
                      boolean preferOpenPartitions)
                      throws 
BadLocationException,
                             
BadPartitioningException
Returns the type of the document partition containing the given offset for the given partitioning. This is a convenience method for getPartition(partitioning, offset, boolean).getType().

If preferOpenPartitions is true, precedence is given to an open partition ending at offset over a delimited partition starting at offset. If it is false, precedence is given to the partition that does not end at offset.

This is only supported if the connected IDocumentPartitioner supports it, i.e. implements IDocumentPartitionerExtension2. Otherwise, preferOpenPartitions is ignored.

Parameters:
partitioning - the partitioning
offset - the document offset
preferOpenPartitions - true if precedence should be given to a open partition ending at offset over a closed partition starting at offset
Returns:
the partition type
Throws:
BadLocationException - if offset is invalid in this document
BadPartitioningException - if partitioning is invalid for this document

getPartition

ITypedRegion getPartition(
String partitioning,
                          int offset,
                          boolean preferOpenPartitions)
                          throws 
BadLocationException,
                                 
BadPartitioningException
Returns the document partition of the given partitioning in which the given offset is located.

If preferOpenPartitions is true, precedence is given to an open partition ending at offset over a delimited partition starting at offset. If it is false, precedence is given to the partition that does not end at offset.

This is only supported if the connected IDocumentPartitioner supports it, i.e. implements IDocumentPartitionerExtension2. Otherwise, preferOpenPartitions is ignored.

Parameters:
partitioning - the partitioning
offset - the document offset
preferOpenPartitions - true if precedence should be given to a open partition ending at offset over a closed partition starting at offset
Returns:
a specification of the partition
Throws:
BadLocationException - if offset is invalid in this document
BadPartitioningException - if partitioning is invalid for this document

computePartitioning

ITypedRegion[] computePartitioning(
String partitioning,
                                   int offset,
                                   int length,
                                   boolean includeZeroLengthPartitions)
                                   throws 
BadLocationException,
                                          
BadPartitioningException
Computes the partitioning of the given document range based on the given partitioning type.

If includeZeroLengthPartitions is true, a zero-length partition of an open partition type (usually the default partition) is included between two closed partitions. If it is false, no zero-length partitions are included.

This is only supported if the connected IDocumentPartitioner supports it, i.e. implements IDocumentPartitionerExtension2. Otherwise, includeZeroLengthPartitions is ignored.

Parameters:
partitioning - the document's partitioning type
offset - the document offset at which the range starts
length - the length of the document range
includeZeroLengthPartitions - true if zero-length partitions should be returned as part of the computed partitioning
Returns:
a specification of the range's partitioning
Throws:
BadLocationException - if the range is invalid in this document$
BadPartitioningException - if partitioning is invalid for this document

setDocumentPartitioner

void setDocumentPartitioner(
String partitioning,
                            
IDocumentPartitioner partitioner)
Sets this document's partitioner. The caller of this method is responsible for disconnecting the document's old partitioner from the document and to connect the new partitioner to the document. Informs all document partitioning listeners about this change.

Parameters:
partitioning - the partitioning for which to set the partitioner
partitioner - the document's new partitioner
See Also:
IDocumentPartitioningListener

getDocumentPartitioner

IDocumentPartitioner getDocumentPartitioner(
String partitioning)
Returns the partitioner for the given partitioning or null if no partitioner is registered.

Parameters:
partitioning - the partitioning for which to set the partitioner
Returns:
the partitioner for the given partitioning

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