站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > NetBeans API Javadoc (Current Development Version)

ExtFinderFactory.LineBlocksFinder (Editor Library) - NetBeans API Javadoc (Current Development Version)

org.netbeans.modules.editor.lib/1 1.14.0 3

org.netbeans.editor.ext
Class ExtFinderFactory.LineBlocksFinder

java.lang.Object
  extended by org.netbeans.editor.FinderFactory.AbstractFinder
      extended by org.netbeans.editor.FinderFactory.AbstractBlocksFinder
          extended by org.netbeans.editor.ext.ExtFinderFactory.LineBlocksFinder
All Implemented Interfaces:
Finder, FinderFactory.BlocksFinder
Enclosing class:
ExtFinderFactory

public abstract static class ExtFinderFactory.LineBlocksFinder
extends FinderFactory.AbstractBlocksFinder

Finder that collects the whole lines and calls the lineFound() method that can do a local find. !!! Udelat to poradne i s vice bufferama


Field Summary
 
Fields inherited from class org.netbeans.editor.FinderFactory.AbstractFinder
found
 
Constructor Summary
ExtFinderFactory.LineBlocksFinder()
           
 
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 org.netbeans.editor.FinderFactory.AbstractBlocksFinder
addBlock, closeBlocks, debugBlocks, getBlocks, reset, setBlocks
 
Methods inherited from class org.netbeans.editor.FinderFactory.AbstractFinder
isFound
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.netbeans.editor.Finder
isFound
 

Constructor Detail

ExtFinderFactory.LineBlocksFinder

public ExtFinderFactory.LineBlocksFinder()
Method Detail

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 searched
offset1 - 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.

org.netbeans.modules.editor.lib/1 1.14.0 3

Built on May 28 2007.  |  Portions Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.