Class DAO<E extends io.vertigo.datamodel.data.model.Entity,P>

java.lang.Object
io.vertigo.datastore.impl.dao.DAO<E,P>
Type Parameters:
E - the type of entity
P - Type de la clef primaire.

public class DAO<E extends io.vertigo.datamodel.data.model.Entity,P> extends Object
Classe utilitaire pour accéder au Broker.
Author:
cgodard
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final EntityStoreManager
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    DAO(Class<? extends io.vertigo.datamodel.data.model.Entity> entityClass, EntityStoreManager entityStoreManager, io.vertigo.datamodel.task.TaskManager taskManager, io.vertigo.datamodel.smarttype.SmartTypeManager smartTypeManager)
    Contructeur.
  • Method Summary

    Modifier and Type
    Method
    Description
    final int
    count(io.vertigo.datamodel.criteria.Criteria<E> criteria)
     
    final E
    create(E entity)
    Creates an object.
    final io.vertigo.datamodel.data.model.DtList<E>
    createList(io.vertigo.datamodel.data.model.DtList<E> entities)
    Creates a list of objects (performance optimized).
    protected final io.vertigo.datamodel.data.model.UID<E>
    Retourne l'URI de DtObject correspondant à une URN de définition et une valeur d'UID donnés.
    final void
    delete(io.vertigo.datamodel.data.model.UID<E> uid)
    Suppression d'un objet persistant par son UID.
    final void
    delete(P id)
    Suppression d'un objet persistant par son identifiant.
    Cette méthode est utile uniquement dans les cas où l'identifiant est un identifiant technique (ex: entier calculé via une séquence).
    final void
    deleteList(List<io.vertigo.datamodel.data.model.UID<E>> uids)
    Delete a list of objects (performance optimized).
    final E
    find(io.vertigo.datamodel.criteria.Criteria<E> criteria)
    Find one and only one object matching the criteria.
    final io.vertigo.datamodel.data.model.DtList<E>
    findAll(io.vertigo.datamodel.criteria.Criteria<E> criteria, io.vertigo.datamodel.data.model.DtListState dtListState)
     
    final Optional<E>
    findOptional(io.vertigo.datamodel.criteria.Criteria<E> criteria)
    Find one or zero object matching the criteria.
    final E
    get(io.vertigo.datamodel.data.model.UID<E> uid)
    Récupération d'un objet persistant par son URI.
    final E
    get(P id)
    Récupération d'un objet persistant par son identifiant.
    Cette méthode est utile uniquement dans les cas où l'identifiant est un identifiant technique (ex: entier calculé via une séquence).
    final <F extends io.vertigo.datamodel.data.model.Fragment<E>>
    F
    get(P id, Class<F> fragmentClass)
    Récupération d'un fragment persistant par son identifiant.
    final <F extends io.vertigo.datamodel.data.model.Fragment<E>>
    F
    getFragment(io.vertigo.datamodel.data.model.UID<E> uid, Class<F> fragmentClass)
    Récupération d'un fragment persistant par son URI.
    final io.vertigo.datamodel.data.model.DtList<E>
    getListByDataFieldName(io.vertigo.datamodel.data.definitions.DataFieldName dataFieldName, Serializable value, io.vertigo.datamodel.data.model.DtListState dtListState)
     
    protected final io.vertigo.datamodel.task.TaskManager
     
    final E
    reloadAndMerge(io.vertigo.datamodel.data.model.Fragment<E> fragment)
    Reloads entity from fragment, and keep fragment modifications.
    final E
    save(E entity)
    Saves an object and returns the saved object
    final void
    update(E entity)
    Update an object.
    final void
    updateList(io.vertigo.datamodel.data.model.DtList<E> entities)
    Updates a list of objects (performance optimized).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • DAO

      public DAO(Class<? extends io.vertigo.datamodel.data.model.Entity> entityClass, EntityStoreManager entityStoreManager, io.vertigo.datamodel.task.TaskManager taskManager, io.vertigo.datamodel.smarttype.SmartTypeManager smartTypeManager)
      Contructeur.
      Parameters:
      entityClass - Définition du DtObject associé à ce DAO
      entityStoreManager - Manager de gestion de la persistance
      taskManager - Manager de gestion des tâches
  • Method Details

    • getTaskManager

      protected final io.vertigo.datamodel.task.TaskManager getTaskManager()
    • save

      public final E save(E entity)
      Saves an object and returns the saved object
      Parameters:
      entity - Object to save
      Returns:
      the saved entity
    • create

      public final E create(E entity)
      Creates an object.
      Parameters:
      entity - Object to create
      Returns:
      the created entity
    • createList

      public final io.vertigo.datamodel.data.model.DtList<E> createList(io.vertigo.datamodel.data.model.DtList<E> entities)
      Creates a list of objects (performance optimized). You should take care of supplying a reasonable chunk size (max 5 000)
      Parameters:
      entities - the list of objets to create
      Returns:
      the created entity
    • update

      public final void update(E entity)
      Update an object.
      Parameters:
      entity - Object to update
    • updateList

      public final void updateList(io.vertigo.datamodel.data.model.DtList<E> entities)
      Updates a list of objects (performance optimized). You should take care of supplying a reasonable chunk size (max 5 000)
      Parameters:
      entities - the list of objets to update
    • reloadAndMerge

      public final E reloadAndMerge(io.vertigo.datamodel.data.model.Fragment<E> fragment)
      Reloads entity from fragment, and keep fragment modifications.
      Parameters:
      fragment - merged from datastore and input
      Returns:
      merged root entity merged with the fragment
    • delete

      public final void delete(io.vertigo.datamodel.data.model.UID<E> uid)
      Suppression d'un objet persistant par son UID.
      Parameters:
      uid - UID de l'objet à supprimer
    • delete

      public final void delete(P id)
      Suppression d'un objet persistant par son identifiant.
      Cette méthode est utile uniquement dans les cas où l'identifiant est un identifiant technique (ex: entier calculé via une séquence).
      Parameters:
      id - identifiant de l'objet persistant à supprimer
    • deleteList

      public final void deleteList(List<io.vertigo.datamodel.data.model.UID<E>> uids)
      Delete a list of objects (performance optimized). You should take care of supplying a reasonable chunk size (max 5 000)
      Parameters:
      entities - the list of objets to delete
    • get

      public final E get(io.vertigo.datamodel.data.model.UID<E> uid)
      Récupération d'un objet persistant par son URI. L'objet doit exister.
      Parameters:
      uid - UID de l'objet à récupérer
      Returns:
      D Object recherché
    • getFragment

      public final <F extends io.vertigo.datamodel.data.model.Fragment<E>> F getFragment(io.vertigo.datamodel.data.model.UID<E> uid, Class<F> fragmentClass)
      Récupération d'un fragment persistant par son URI. L'objet doit exister.
      Parameters:
      uid - UID de l'objet à récupérer
      fragmentClass - Fragment class
      Returns:
      F Fragment recherché
    • get

      public final E get(P id)
      Récupération d'un objet persistant par son identifiant.
      Cette méthode est utile uniquement dans les cas où l'identifiant est un identifiant technique (ex: entier calculé via une séquence).
      Parameters:
      id - identifiant de l'objet persistant recherché
      Returns:
      D Object objet recherché
    • get

      public final <F extends io.vertigo.datamodel.data.model.Fragment<E>> F get(P id, Class<F> fragmentClass)
      Récupération d'un fragment persistant par son identifiant.
      Parameters:
      id - identifiant de l'objet persistant recherché
      fragmentClass - Fragment class
      Returns:
      D Fragment recherché
    • createUID

      protected final io.vertigo.datamodel.data.model.UID<E> createUID(P id)
      Retourne l'URI de DtObject correspondant à une URN de définition et une valeur d'UID donnés.
      Parameters:
      id - identifiant de l'objet persistant recherché
      Returns:
      UID recherchée
    • getListByDataFieldName

      public final io.vertigo.datamodel.data.model.DtList<E> getListByDataFieldName(io.vertigo.datamodel.data.definitions.DataFieldName dataFieldName, Serializable value, io.vertigo.datamodel.data.model.DtListState dtListState)
      Parameters:
      dataFieldName - de l'object à récupérer NOT NULL
      value - de l'object à récupérer NOT NULL
      dtListState - Etat de la liste : Sort, top, offset
      Returns:
      DtList récupéré NOT NUL
    • find

      public final E find(io.vertigo.datamodel.criteria.Criteria<E> criteria)
      Find one and only one object matching the criteria. If there are many results or no result an exception is thrown
      Parameters:
      criteria - the filter criteria
      Returns:
      the result
    • findOptional

      public final Optional<E> findOptional(io.vertigo.datamodel.criteria.Criteria<E> criteria)
      Find one or zero object matching the criteria. If there are many results an exception is thrown
      Parameters:
      criteria - the filter criteria
      Returns:
      the optional result
    • findAll

      public final io.vertigo.datamodel.data.model.DtList<E> findAll(io.vertigo.datamodel.criteria.Criteria<E> criteria, io.vertigo.datamodel.data.model.DtListState dtListState)
      Parameters:
      criteria - The criteria
      dtListState - Etat de la liste : Sort, top, offset
      Returns:
      DtList result NOT NULL
    • count

      public final int count(io.vertigo.datamodel.criteria.Criteria<E> criteria)
      Parameters:
      criteria - The criteria
      Returns:
      count rows matching criteria