All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.netbeans.editor.AdjustFinder Maven / Gradle / Ivy

/*
 *                 Sun Public License Notice
 * 
 * The contents of this file are subject to the Sun Public License
 * Version 1.0 (the "License"). You may not use this file except in
 * compliance with the License. A copy of the License is available at
 * http://www.sun.com/
 * 
 * The Original Code is NetBeans. The Initial Developer of the Original
 * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun
 * Microsystems, Inc. All Rights Reserved.
 */

package org.netbeans.editor;

/**
* Advanced finder that can adjust the start and limit position
* of the search. The finder can be used in the BaseDocument.find()
* which calls its adjust-methods automatically.
* The order of the methods called for the search is
* 
* 1. adjustStartPos() is called
* 2. adjustStartPos() is called
* 3. reset() is called
* If the search is void i.e. doc.find(finder, pos, pos) * is called, no adjust-methods are called, only the reset() * is called. * For backward search the start-position is higher than the limit-position. * The relation startPos < endPos defines whether the search * will be forward or backward. The adjust-methods could in fact * revert this relation turning the forward search into the backward one * and vice versa. This is not allowed. If that happens the search * is considered void. * The adjust-methods must NOT use the shortcut -1 for the end of document. * * @author Miloslav Metelka * @version 1.00 */ public interface AdjustFinder extends Finder { /** Adjust start position of the search to be either the same or lower. * This method can be used * for example to scan the whole line by the reg-exp finder even * if the original start position is not at the begining of the line. * Although it's not specifically checked the finder should NOT in any case * return the position that is lower than the original * @param doc document to search on * @param startPos start position originally requested in BaseDocument.find(). * @return possibly modified start position. The returned position must be * the same or lower than the original start position for forward search * and the same or high. */ public int adjustStartPos(BaseDocument doc, int startPos); /** Adjust the limit position of the search * (it's the position where the search will end) to be either the same or greater. * @param doc document to search on * @param limitPos limit position originally requested in BaseDocument.find() * @return possibly modified limit position. The returned position must be * the same or greater than the original limit position. */ public int adjustLimitPos(BaseDocument doc, int limitPos); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy