/* * Copyright 2015-Present Entando Inc. (http://www.entando.com) All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.agiletec.plugins.jacms.aps.system.services.searchengine; import com.agiletec.aps.system.exception.ApsSystemException; /** * Classe factory degli elementi ad uso del SearchEngine. * @author E.Santoboni */ public interface ISearchEngineDAOFactory { /** * Inizializzazione della classe factory. * @throws Exception In caso di errore. */ public void init() throws Exception; /** * Restituisce la classe dao delegata alle operazioni di indicizzazione. * @return La classe dao delegata alle operazioni di indicizzazione. * @throws ApsSystemException In caso nella errore. */ public IIndexerDAO getIndexer() throws ApsSystemException; /** * Restituisce la classe dao delegata alle operazioni di ricerca. * @return La classe dao delegata alle operazioni di ricerca. * @throws ApsSystemException In caso nella errore. */ public ISearcherDAO getSearcher() throws ApsSystemException; /** * Restituisce la classe dao delegata alle operazioni di indicizzazione. * @param subDir La sottocartella (figlia della root a servizio del sistema) * utilizzata per le operazioni di indicizzazione dei documenti. * @return La classe dao delegata alle operazioni di indicizzazione. * @throws ApsSystemException In caso nella errore. */ public IIndexerDAO getIndexer(String subDir) throws ApsSystemException; /** * Restituisce la classe dao delegata alle operazioni di ricerca. * @param subDir La sottocartella (figlia della root a servizio del sistema) * utilizzata per le operazioni di ricerca dei documenti. * @return La classe dao delegata alle operazioni di ricerca. * @throws ApsSystemException In caso nella errore. */ public ISearcherDAO getSearcher(String subDir) throws ApsSystemException; /** * Aggiorna la sottocartella (figlia della root a servizio del sistema) * utilizzata per le operazioni di indicizzazione e ricerca dei documenti. * @param newSubDirectory La nuova subdirectory. * @throws ApsSystemException In caso nella errore. */ public void updateSubDir(String newSubDirectory) throws ApsSystemException; /** * Cancella la sottocartella (figlia della root a servizio del sistema) * utilizzata per le operazioni di indicizzazione e ricerca dei documenti. * @param subDirectory La sottocartella */ public void deleteSubDirectory(String subDirectory); }