Class AbstractSqlSearchLoader<P extends Serializable,​S extends io.vertigo.datamodel.structure.model.KeyConcept,​I extends io.vertigo.datamodel.structure.model.DtObject>

  • Type Parameters:
    P - Primary key type
    S - KeyConcept type
    I - Index type
    All Implemented Interfaces:
    io.vertigo.core.node.component.Component, io.vertigo.core.node.component.CoreComponent, SearchLoader<S,​I>

    public abstract class AbstractSqlSearchLoader<P extends Serializable,​S extends io.vertigo.datamodel.structure.model.KeyConcept,​I extends io.vertigo.datamodel.structure.model.DtObject>
    extends AbstractSearchLoader<P,​S,​I>
    Default SearchLoader for Database datasource.
    Author:
    npiedeloup
    • Constructor Detail

      • AbstractSqlSearchLoader

        @Inject
        public AbstractSqlSearchLoader​(io.vertigo.datamodel.task.TaskManager taskManager,
                                       VTransactionManager transactionManager)
        Constructor.
        Parameters:
        taskManager - Task manager
        transactionManager - transactionManager
    • Method Detail

      • loadNextURI

        protected final List<io.vertigo.datamodel.structure.model.UID<S>> loadNextURI​(P lastId,
                                                                                      io.vertigo.datamodel.structure.definitions.DtDefinition dtDefinition)
        Load uris of next chunk.
        Specified by:
        loadNextURI in class AbstractSearchLoader<P extends Serializable,​S extends io.vertigo.datamodel.structure.model.KeyConcept,​I extends io.vertigo.datamodel.structure.model.DtObject>
        Parameters:
        lastId - Last chunk id
        dtDefinition - KeyConcept definition
        Returns:
        Uris of next chunk.
      • getNextIdsSqlQuery

        protected String getNextIdsSqlQuery​(String tableName,
                                            String pkFieldName)
        Create a SQL query to get next chunk's ids next in table from previous chunk
        Parameters:
        tableName - Table name to use
        pkFieldName - Pk field name
        Returns:
        SQL query
      • appendMaxRows

        protected void appendMaxRows​(StringBuilder request,
                                     Integer maxRows)
        Ajoute à la requete les éléments techniques nécessaire pour limiter le resultat à {maxRows}.
        Parameters:
        request - Buffer de la requete
        maxRows - Nombre de lignes max
      • getSqlQueryFilter

        protected String getSqlQueryFilter()
        Returns:
        Specific SqlQuery filter
      • getTaskManager

        protected final io.vertigo.datamodel.task.TaskManager getTaskManager()
        Returns:
        TaskManager
      • getEntityName

        protected static final String getEntityName​(io.vertigo.datamodel.structure.definitions.DtDefinition dtDefinition)
        Nom de la table en fonction de la définition du DT mappé.
        Parameters:
        dtDefinition - Définition du DT mappé
        Returns:
        Nom de la table