public interface IDocumentExtension3
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.
IDocumentPartitionerExtension2| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_PARTITIONING
The identifier of the default partitioning.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
static final String DEFAULT_PARTITIONING
String[] getPartitionings()
String[] getLegalContentTypes(String partitioning) throws BadPartitioningException
getPartitioning(partitioning, 0, getLength()).partitioning - the partitioning for which to return the legal content typesBadPartitioningException - if partitioning is invalid for this documentString getContentType(String partitioning, int offset, boolean preferOpenPartitions) throws BadLocationException, BadPartitioningException
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.
IDocumentPartitioner
supports it, i.e. implements IDocumentPartitionerExtension2.
Otherwise, preferOpenPartitions is ignored.
partitioning - the partitioningoffset - the document offsetpreferOpenPartitions - true if precedence should be
given to a open partition ending at offset over a
closed partition starting at offsetBadLocationException - if offset is invalid in this documentBadPartitioningException - if partitioning is invalid for this documentITypedRegion getPartition(String partitioning, int offset, boolean preferOpenPartitions) throws BadLocationException, BadPartitioningException
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.
IDocumentPartitioner
supports it, i.e. implements IDocumentPartitionerExtension2.
Otherwise, preferOpenPartitions is ignored.
partitioning - the partitioningoffset - the document offsetpreferOpenPartitions - true if precedence should be
given to a open partition ending at offset over a
closed partition starting at offsetBadLocationException - if offset is invalid in this documentBadPartitioningException - if partitioning is invalid for this documentITypedRegion[] computePartitioning(String partitioning, int offset, int length, boolean includeZeroLengthPartitions) throws BadLocationException, BadPartitioningException
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.
IDocumentPartitioner
supports it, i.e. implements IDocumentPartitionerExtension2.
Otherwise, includeZeroLengthPartitions is ignored.
partitioning - the document's partitioning typeoffset - the document offset at which the range startslength - the length of the document rangeincludeZeroLengthPartitions - true if zero-length
partitions should be returned as part of the computed partitioningBadLocationException - if the range is invalid in this document$BadPartitioningException - if partitioning is invalid for this documentvoid setDocumentPartitioner(String partitioning, IDocumentPartitioner partitioner)
partitioning - the partitioning for which to set the partitionerpartitioner - the document's new partitionerIDocumentPartitioningListenerIDocumentPartitioner getDocumentPartitioner(String partitioning)
null if
no partitioner is registered.partitioning - the partitioning for which to set the partitionerGuidelines for using Eclipse APIs. Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.