run.halo.app.extension.index.IndexedQueryEngine Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of api Show documentation
Show all versions of api Show documentation
API of halo project, connecting by other projects.
The newest version!
package run.halo.app.extension.index;
import java.util.List;
import org.springframework.data.domain.Sort;
import run.halo.app.extension.GroupVersionKind;
import run.halo.app.extension.ListOptions;
import run.halo.app.extension.ListResult;
import run.halo.app.extension.Metadata;
import run.halo.app.extension.PageRequest;
/**
* An interface for querying indexed object records from the index store.
* It provides a way to retrieve the object records by the given {@link GroupVersionKind} and
* {@link ListOptions}, the final result will be ordered by the index what {@link ListOptions}
* used and specified by the {@link PageRequest#getSort()}.
*
* @author guqing
* @since 2.12.0
*/
public interface IndexedQueryEngine {
/**
* Page retrieve the object records by the given {@link GroupVersionKind} and
* {@link ListOptions}.
*
* @param type the type of the object must exist in
* {@link run.halo.app.extension.SchemeManager}.
* @param options the list options to use for retrieving the object records.
* @param page which page to retrieve and how large the page should be.
* @return a collection of {@link Metadata#getName()} for the given page.
*/
ListResult retrieve(GroupVersionKind type, ListOptions options, PageRequest page);
/**
* Retrieve all the object records by the given {@link GroupVersionKind} and
* {@link ListOptions}.
*
* @param type the type of the object must exist in {@link run.halo.app.extension.SchemeManager}
* @param options the list options to use for retrieving the object records
* @param sort the sort to use for retrieving the object records
* @return a collection of {@link Metadata#getName()}
*/
List retrieveAll(GroupVersionKind type, ListOptions options, Sort sort);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy