Class AbstractSearchLoader<K extends io.vertigo.datamodel.data.model.KeyConcept,I extends io.vertigo.datamodel.data.model.DataObject>
java.lang.Object
io.vertigo.datafactory.impl.search.loader.AbstractSearchLoader<K,I>
- Type Parameters:
K- KeyConcept typeI- Index type
- All Implemented Interfaces:
io.vertigo.core.node.component.Component,io.vertigo.core.node.component.CoreComponent,SearchLoader<K,I>
- Direct Known Subclasses:
AbstractSqlSearchLoader
public abstract class AbstractSearchLoader<K extends io.vertigo.datamodel.data.model.KeyConcept,I extends io.vertigo.datamodel.data.model.DataObject>
extends Object
implements SearchLoader<K,I>
Abstract SearchLoader with default chunk implementation.
- Author:
- npiedeloup
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal Iterable<SearchChunk<K>> Create a chunk iterator for crawl all keyConcept data.final Iterable<SearchChunk<K>> chunk(Optional<Serializable> startValue, Class<K> keyConceptClass) Create a chunk iterator for crawl keyConcept data over a specific version field, starting at a specific value.io.vertigo.datamodel.data.definitions.DataFieldgetVersionField(io.vertigo.datamodel.data.definitions.DataDefinition dataDefinition) Field use as a version field.protected abstract List<io.vertigo.core.lang.Tuple<io.vertigo.datamodel.data.model.UID<K>, Serializable>> loadNextURI(Serializable lastValue, boolean orderByVersion, io.vertigo.datamodel.data.definitions.DataDefinition dataDefinition) Load uris of next chunk.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.vertigo.datafactory.search.definitions.SearchLoader
loadData
-
Constructor Details
-
AbstractSearchLoader
public AbstractSearchLoader()
-
-
Method Details
-
chunk
Create a chunk iterator for crawl all keyConcept data.- Specified by:
chunkin interfaceSearchLoader<K extends io.vertigo.datamodel.data.model.KeyConcept,I extends io.vertigo.datamodel.data.model.DataObject> - Parameters:
keyConceptClass- keyConcept class- Returns:
- Iterator of chunk (ordered by ID)
-
chunk
public final Iterable<SearchChunk<K>> chunk(Optional<Serializable> startValue, Class<K> keyConceptClass) Create a chunk iterator for crawl keyConcept data over a specific version field, starting at a specific value.- Specified by:
chunkin interfaceSearchLoader<K extends io.vertigo.datamodel.data.model.KeyConcept,I extends io.vertigo.datamodel.data.model.DataObject> - Parameters:
keyConceptClass- keyConcept class- Returns:
- Iterator of chunk ordered by versionFieldName
-
getVersionField
public io.vertigo.datamodel.data.definitions.DataField getVersionField(io.vertigo.datamodel.data.definitions.DataDefinition dataDefinition) -
loadNextURI
protected abstract List<io.vertigo.core.lang.Tuple<io.vertigo.datamodel.data.model.UID<K>,Serializable>> loadNextURI(Serializable lastValue, boolean orderByVersion, io.vertigo.datamodel.data.definitions.DataDefinition dataDefinition) Load uris of next chunk.- Parameters:
lastValue- Last chunk valueorderByVersion- Order chunk by version or by id (if versionFieldName not empty, we could crawl data by version or by id)dataDefinition- KeyConcept definition- Returns:
- Uris of next chunk.
-
getVersionFieldName
Field use as a version field. It's use to check if an element was modified. If it's comparable for the whole entity set (like a sequence, or an lastModified), it could be use for delta reindexing- Specified by:
getVersionFieldNamein interfaceSearchLoader<K extends io.vertigo.datamodel.data.model.KeyConcept,I extends io.vertigo.datamodel.data.model.DataObject> - Returns:
- optional version field
-