/*******************************************************************************
* Copyleft 2013 Massimiliano Leone - massimiliano.leone@iubris.net .
*
* UlyssesThreeStateCacheAware.java is part of 'Ulysses'.
*
* 'Ulysses' 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 3 of the License, or
* (at your option) any later version.
*
* 'Ulysses' 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.
*
* You should have received a copy of the GNU Lesser General Public License
* along with 'Ulysses'; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
******************************************************************************/
package net.iubris.ulysses.engine.searcher.aware.cache;
import javax.inject.Inject;
import javax.inject.Singleton;
import net.iubris.diane.aware.cache.exceptions.base.CacheTooOldException;
import net.iubris.diane.aware.cache.states.three.SearchingByCacheBehaviour;
import net.iubris.diane.aware.cache.states.three.ThreeStateCacheAware;
@Singleton
public class UlyssesThreeStateCacheAware implements ThreeStateCacheAware {
private final SearchingByCacheBehaviour searchingByCacheBehaviour;
@Inject
public UlyssesThreeStateCacheAware(SearchingByCacheBehaviour searchingByCacheBehaviour) {
this.searchingByCacheBehaviour = searchingByCacheBehaviour;
}
@Override
public Boolean isCacheAvailable() throws CacheTooOldException {
return true;
}
@Override
public boolean useFirstlyCache() {
return searchingByCacheBehaviour.useFirstlyCache();
}
}