|
Eclipse Platform Release 3.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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
.
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 |
public static final String DEFAULT_PARTITIONING
Method Detail |
public String[] getPartitionings()
public String[] getLegalContentTypes(String partitioning) throws BadPartitioningException
getPartitioning(partitioning, 0, getLength())
.
partitioning
- the partitioning for which to return the legal content types
BadPartitioningException
- if partitioning is invalid for this documentpublic String 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 offset
BadLocationException
- if offset is invalid in this document
BadPartitioningException
- if partitioning is invalid for this documentpublic ITypedRegion 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 offset
BadLocationException
- if offset is invalid in this document
BadPartitioningException
- if partitioning is invalid for this documentpublic ITypedRegion[] 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 partitioning
BadLocationException
- if the range is invalid in this document$
BadPartitioningException
- if partitioning is invalid for this documentpublic void setDocumentPartitioner(String partitioning, IDocumentPartitioner partitioner)
partitioning
- the partitioning for which to set the partitionerpartitioner
- the document's new partitionerIDocumentPartitioningListener
public IDocumentPartitioner getDocumentPartitioner(String partitioning)
null
if
no partitioner is registered.
partitioning
- the partitioning for which to set the partitioner
|
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.