package org.jactr.core.module.declarative.search.local;
import java.util.Comparator;
import java.util.SortedSet;
import org.jactr.core.chunk.IChunk;
import org.jactr.core.module.declarative.search.filter.IChunkFilter;
import org.jactr.core.production.request.ChunkTypeRequest;
/*
* default logging
*/
/**
* a local interface for the creation of delegate code to implement different
* forms of search within the DefaultSearchSystem. This is not intended to be
* implemented by others.
*
* @author harrison
*/
public interface ISearchDelegate
{
/**
* search for something that matches the pattern, filtering out, and sorted
*
* @param pattern
* @param sortRule
* sort by this comparator
* @param filter
* exclude chunks that don't pass this
* @param searchSystem
* @return
*/
public SortedSet<IChunk> find(ChunkTypeRequest pattern,
Comparator<IChunk> sortRule, IChunkFilter filter,
DefaultSearchSystem searchSystem);
}