Overview | Package | Class | 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 IDocumentPartitionerExtension2

All Known Implementing Classes:
  DefaultPartitioner, RuleBasedPartitioner

public interface IDocumentPartitionerExtension2

Extension interface for `IDocumentPartitioner`.

Extends the original concept of a document partitioner to answer the position categories that are used to manage the partitioning information.

This extension also introduces the concept of open and delimited partitions. A delimited partition has a predefined textual token delimiting its start and end, while an open partition can fill any space between two delimited partitions.

An open partition of length zero can occur between two delimited partitions, thus having the same offset as the following delimited partition. The document start and end are considered to be delimiters of open partitions, i.e. there may be a zero-length partition between the document start and a delimited partition starting at offset 0.

Since:
  3.0

Method Summary
`ITypedRegion[]` | `computePartitioning(int offset, int length, boolean includeZeroLengthPartitions)` Returns the partitioning of the given range of the connected document.
`String` | `getContentType(int offset, boolean preferOpenPartitions)` Returns the content type of the partition containing the given offset in the connected document.
`String[]` | `getManagingPositionCategories()` Returns the position categories that this partitioners uses in order to manage the partitioning information of the documents.
`ITypedRegion` | `getPartition(int offset, boolean preferOpenPartitions)` Returns the partition containing the given offset of the connected document.

Method Detail

### getManagingPositionCategories

    public String[] getManagingPositionCategories()

  Returns the position categories that this partitioners uses in order to manage the partitioning information of the documents. Returns `null` if no position category is used.

  Returns:
    the position categories used to manage partitioning information or `null`

### getContentType

    public String getContentType(int offset,
                                 boolean preferOpenPartitions)

  Returns the content type of the partition containing the given offset in the connected document. There must be a document connected to this partitioner.

  If `preferOpenPartitions` is `true`, precedence is given to an open partition ending at `offset` over a delimited partition starting at `offset`.

  This method replaces `IDocumentPartitioner.getContentType(int)`and behaves like it when `prepreferOpenPartitions` is `false`, i.e. precedence is always given to the partition that does not end at `offset`.

  Parameters:
    `offset` - the offset in the connected document
    `preferOpenPartitions` - `true` if precedence should be given to a open partition ending at `offset` over a delimited partition starting at `offset`
  Returns:
    the content type of the offset's partition

### getPartition

    public ITypedRegion getPartition(int offset,
                                     boolean preferOpenPartitions)

  Returns the partition containing the given offset of the connected document. There must be a document connected to this partitioner.

  If `preferOpenPartitions` is `true`, precedence is given to an open partition ending at `offset` over a delimited partition starting at `offset`.

  This method replaces `IDocumentPartitioner.getPartition(int)`and behaves like it when is `false` , i.e. precedence is always given to the partition that does not end at `offset`.

  Parameters:
    `offset` - the offset for which to determine the partition
    `preferOpenPartitions` - `true` if precedence should be given to a open partition ending at `offset` over a delimited partition starting at `offset`
  Returns:
    the partition containing the offset

### computePartitioning

    public ITypedRegion[] computePartitioning(int offset,
                                              int length,
                                              boolean includeZeroLengthPartitions)

  Returns the partitioning of the given range of the connected document. There must be a document connected to this partitioner.

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

  This method replaces `IDocumentPartitioner.computePartitioning(int, int)`and behaves like it when `includeZeroLengthPartitions` is `false`.

  Parameters:
    `offset` - the offset of the range of interest
    `length` - the length of the range of interest
    `includeZeroLengthPartitions` - `true` if zero-length partitions should be returned as part of the computed partitioning
  Returns:
    the partitioning of the range

Overview | Package | Class | 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.