当前页面:
在线文档首页 >
NetBeans API Javadoc (Current Development Version)
ExtFinderFactory.LineBwdFinder (Editor Library) - NetBeans API Javadoc (Current Development Version)
org.netbeans.editor.ext
Class ExtFinderFactory.LineBwdFinder
java.lang.Object
org.netbeans.editor.FinderFactory.AbstractFinder
org.netbeans.editor.ext.ExtFinderFactory.LineBwdFinder
- All Implemented Interfaces:
- Finder
- Enclosing class:
- ExtFinderFactory
public abstract static class ExtFinderFactory.LineBwdFinder
- extends FinderFactory.AbstractFinder
Finder that collects the whole lines and calls
the lineFound() method that can do a local find.
!!! Udelat to poradne i s vice bufferama
Method Summary |
int |
adjustLimitPos(BaseDocument doc,
int limitPos)
|
int |
adjustStartPos(BaseDocument doc,
int startPos)
|
int |
find(int bufferStartPos,
char[] buffer,
int offset1,
int offset2,
int reqPos,
int limitPos)
find function that must be defined by descendant |
protected abstract int |
lineFound(char[] buffer,
int lineStartOffset,
int lineEndOffset,
int startOffset,
int endOffset)
Line was found and is present in the given buffer. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ExtFinderFactory.LineBwdFinder
public ExtFinderFactory.LineBwdFinder()
adjustStartPos
public int adjustStartPos(BaseDocument doc,
int startPos)
adjustLimitPos
public int adjustLimitPos(BaseDocument doc,
int limitPos)
find
public int find(int bufferStartPos,
char[] buffer,
int offset1,
int offset2,
int reqPos,
int limitPos)
- find function that must be defined by descendant
- Parameters:
bufferStartPos
- begining position of the buffer (not search area).buffer
- buffer with chars to be searchedoffset1
- offset of begining of searchable area in buffer.
No searching below this offset can be performed.offset2
- offset of end of searchable area in buffer.
No searching beyond this offset can be performed.reqPos
- required position. Initially it is the begining
search position requested by caller. In subsequent calls
it is the same value as returned from previous call
to find()
method.limitPos
- is filled with position beyond which search cannot go.
(i.e. forward: pos < limitPos and backward: pos >= limitPos)
Some finders i.e. finder that tries to find some word with
whole-words-only flag turned on can benefit
from this information. If the searched word is at the very end of
the document the finder wouldn't normally find it as it would request
the next buffer even when the whole word was matched because the finder
needs to find white space to know the word ended there. However this
would be beyond the search area so EOT exception would be raised.
To correctly manage this situation finder must care for limitPos.
When it sees the word and knows this is the last text in document
it signals that it found the word.
- Returns:
- in case the string was found,
find()
method returns the position (not offset) where the string starts
(and must also set some flag resulting to that isFound()
method will return true).
If the string was not yet found, the function should return
position (not offset) where the next search should continue. If this
position is greater or equal than limit position
(lower than limit position for backward search),
searching will stop resulting in -1 as returned position.
The position returned will be passed as reqPos
in next
call to find()
method.
lineFound
protected abstract int lineFound(char[] buffer,
int lineStartOffset,
int lineEndOffset,
int startOffset,
int endOffset)
- Line was found and is present in the given buffer. The given
buffer is either the original buffer passed to the find()
or constructed buffer if the line is at the border of the previous
and next buffer.
- Returns:
- non-negative number means the target string was found and
the returned number is offset on the line where the string was found.
Negative number means the target string was not found on the line
and the search will continue with the next line.