package org.wyona.yarep.core.search; import org.apache.avalon.framework.configuration.Configuration; import org.wyona.yarep.core.Node; import org.wyona.yarep.core.Repository; import java.io.File; /** * Search Interface */ public interface Searcher { /** * Configure searcher * * @param searchIndexConfig The part of the yarep repository configuration containing the search/index configuration * @param configFile The file where the yarep repository configuration is located (useful when resolving relative paths of referenced files). TODO: Maybe replace later with a resolver! * @param repo Yarep Repository which contains content related to index which is searched in */ public void configure(Configuration searchIndexConfig, File configFile, Repository repo) throws SearchException; /** * Search content * * @param query Search query */ public Node[] search(String query) throws SearchException; /** * Search for properties content within subtree * * @param pName Property name * @param query Search query * @param path Scope of search (path of subtree, in order to search the whole tree one sets path = "/") */ public Node[] searchProperty(String pName, String query, String path) throws SearchException; }