/*******************************************************************************
* Copyright (c) 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
* Zend Technologies
*******************************************************************************/
package org.eclipse.php.internal.ui.search.text;
import java.util.regex.Pattern;
import org.eclipse.core.resources.IResource;
import org.eclipse.search.core.text.TextSearchEngine;
import org.eclipse.search.core.text.TextSearchScope;
/**
* Description: Factory class to the {@link TextSearcher}
*
* @author Roy, 2007
*/
public class TextSearcherFactory {
/**
* default foactory - includes all parameters
*
* @param engine
* @param newSearchScope
* @param visitor
* @param searchPattern
* @return
*/
public final static TextSearcher createSearcher(TextSearchEngine engine, TextSearchScope newSearchScope,
ResultVisitor visitor, Pattern searchPattern) {
return new TextSearcher(engine, newSearchScope, visitor, searchPattern);
}
public final static TextSearcher createSearcher(TextSearchScope newSearchScope, ResultVisitor visitor,
Pattern searchPattern) {
final TextSearchEngine engine = TextSearchEngine.createDefault();
return createSearcher(engine, newSearchScope, visitor, searchPattern);
}
public final static TextSearcher createSearcher(IResource resource, ResultVisitor visitor, Pattern searchPattern) {
final TextSearchScope searchScope = TextSearchScope.newSearchScope(new IResource[] { resource },
Pattern.compile(".*"), true); //$NON-NLS-1$
return createSearcher(searchScope, visitor, searchPattern);
}
public final static TextSearcher createSearcher(IResource resource, Pattern searchPattern) {
final ResultVisitor visitor = new ResultVisitor();
return createSearcher(resource, visitor, searchPattern);
}
public final static TextSearcher createSearcher(IResource resource, String searchPattern) {
final Pattern pattern = Pattern.compile(searchPattern);
return createSearcher(resource, pattern);
}
}