Overview

 
Package  Use  Tree  Deprecated  Index  Help 
Eclipse Platform
Release 3.0
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


 

org.eclipse.jface.text
Interface IDocumentExtension3

All Known Implementing Classes:
AbstractDocument


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

public static final String DEFAULT_PARTITIONING

The identifier of the default partitioning.

See Also:
Constant Field Values
Method Detail

 

 

getPartitionings

public String[] getPartitionings()

Returns the existing partitionings for this document. This includes the default partitioning.

Returns:
the existing partitionings for this document


 

 

getLegalContentTypes

public 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

public 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

public 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

public 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

public 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

public 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


 

Overview

 
Package  Use  Tree  Deprecated  Index  Help 
Eclipse Platform
Release 3.0
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES  
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.