public interface IDocumentPartitionerExtension2
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.
Modifier and Type | Method and Description |
---|---|
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.
|
String[] getManagingPositionCategories()
null
if
no position category is used.null
String getContentType(int offset, boolean preferOpenPartitions)
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
.
offset
- the offset in the connected documentpreferOpenPartitions
- true
if precedence should be
given to a open partition ending at offset
over
a delimited partition starting at offset
ITypedRegion getPartition(int offset, boolean preferOpenPartitions)
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 false
, i.e. precedence is always given to the partition that does not
end at offset
.
offset
- the offset for which to determine the partitionpreferOpenPartitions
- true
if precedence should be
given to a open partition ending at offset
over
a delimited partition starting at offset
ITypedRegion[] computePartitioning(int offset, int length, boolean includeZeroLengthPartitions)
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
.
offset
- the offset of the range of interestlength
- the length of the range of interestincludeZeroLengthPartitions
- true
if zero-length
partitions should be returned as part of the computed
partitioning
Copyright (c) 2000, 2014 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.