public class RuleBasedPartitionScanner extends BufferedRuleBasedScanner implements IPartitionTokenScanner
If a partial range is set (see setPartialRange(IDocument, int, int, String, int)
with
content type that is not null
then this scanner will first try the rules that match
the given content type.
Modifier and Type | Field and Description |
---|---|
protected String |
fContentType
The content type of the partition in which to resume scanning.
|
protected int |
fPartitionOffset
The offset of the partition inside which to resume.
|
fColumn, fDefaultReturnToken, fDelimiters, fDocument, fOffset, fRangeEnd, fRules, fTokenOffset, UNDEFINED
EOF
Constructor and Description |
---|
RuleBasedPartitionScanner() |
Modifier and Type | Method and Description |
---|---|
IToken |
nextToken()
Returns the next token in the document.
|
void |
setPartialRange(IDocument document,
int offset,
int length,
String contentType,
int partitionOffset)
Configures the scanner by providing access to the document range that should be scanned.
|
void |
setPredicateRules(IPredicateRule[] rules) |
void |
setRange(IDocument document,
int offset,
int length)
Configures the scanner by providing access to the document range that should
be scanned.
|
void |
setRules(IRule[] rules)
Disallow setting the rules since this scanner
exclusively uses predicate rules.
|
read, setBufferSize, unread
getColumn, getLegalLineDelimiters, getTokenLength, getTokenOffset, setDefaultReturnToken
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getTokenLength, getTokenOffset
protected String fContentType
protected int fPartitionOffset
public void setRules(IRule[] rules)
setRules
in class RuleBasedScanner
rules
- the sequence of rules controlling this scannerpublic void setPredicateRules(IPredicateRule[] rules)
public void setRange(IDocument document, int offset, int length)
ITokenScanner
setRange
in interface ITokenScanner
setRange
in class BufferedRuleBasedScanner
document
- the document to scanoffset
- the offset of the document range to scanlength
- the length of the document range to scanpublic void setPartialRange(IDocument document, int offset, int length, String contentType, int partitionOffset)
If the given content type is not null
then this scanner will first try the rules
that match the given content type.
setPartialRange
in interface IPartitionTokenScanner
document
- the document to scanoffset
- the offset of the document range to scanlength
- the length of the document range to scancontentType
- the content type at the given offsetpartitionOffset
- the offset at which the partition of the given offset startspublic IToken nextToken()
ITokenScanner
nextToken
in interface ITokenScanner
nextToken
in class RuleBasedScanner
Copyright (c) 2000, 2018 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.