Class EntityStoreManagerImpl

java.lang.Object
io.vertigo.datastore.impl.entitystore.EntityStoreManagerImpl
All Implemented Interfaces:
io.vertigo.core.node.component.Activeable, io.vertigo.core.node.component.Component, io.vertigo.core.node.component.CoreComponent, io.vertigo.core.node.component.Manager, io.vertigo.core.node.definition.DefinitionProvider, io.vertigo.core.node.definition.SimpleDefinitionProvider, EntityStoreManager

public final class EntityStoreManagerImpl extends Object implements EntityStoreManager, io.vertigo.core.node.component.Activeable, io.vertigo.core.node.definition.SimpleDefinitionProvider
Implementation of DataStore.
Author:
pchretien, mlaroche, npiedeloup
  • Field Summary

    Fields inherited from interface io.vertigo.datastore.entitystore.EntityStoreManager

    MAIN_DATA_SPACE_NAME
  • Constructor Summary

    Constructors
    Constructor
    Description
    EntityStoreManagerImpl(CacheManager cacheManager, io.vertigo.commons.transaction.VTransactionManager transactionManager, io.vertigo.commons.eventbus.EventBusManager eventBusManager, io.vertigo.datamodel.task.TaskManager taskManager, List<EntityStorePlugin> entityStorePlugins)
    Constructor
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    count(io.vertigo.datamodel.data.definitions.DataDefinition dataDefinition)
    Nombre d'éléments présents dans le sysème de persistance.
    <E extends io.vertigo.datamodel.data.model.Entity>
    int
    count(io.vertigo.datamodel.data.definitions.DataDefinition dataDefinition, io.vertigo.datamodel.criteria.Criteria<E> criteria)
    Count elements identified by criteria
    <E extends io.vertigo.datamodel.data.model.Entity>
    E
    create(E entity)
    Create an object.
    <E extends io.vertigo.datamodel.data.model.Entity>
    io.vertigo.datamodel.data.model.DtList<E>
    createList(io.vertigo.datamodel.data.model.DtList<E> entities)
    Create a list of object.
    void
    delete(io.vertigo.datamodel.data.model.UID<? extends io.vertigo.datamodel.data.model.Entity> uri)
    Destruction d'un objet persistant par son UID.
    <E extends io.vertigo.datamodel.data.model.Entity>
    void
    deleteList(List<io.vertigo.datamodel.data.model.UID<E>> uids)
    Delete a list of object uids.
    <E extends io.vertigo.datamodel.data.model.Entity>
    io.vertigo.datamodel.data.model.DtList<E>
    find(io.vertigo.datamodel.data.definitions.DataDefinition dataDefinition, io.vertigo.datamodel.criteria.Criteria<E> criteria, io.vertigo.datamodel.data.model.DtListState dtListState)
    Returns a list identified by criteria
    <E extends io.vertigo.datamodel.data.model.Entity>
    io.vertigo.datamodel.data.model.DtList<E>
    findAll(io.vertigo.datamodel.data.model.DtListURI uri)
    Récupération d'une liste identifiée par son UID.
    Return the a dedicated object that handles NN associations
     
    List<? extends io.vertigo.core.node.definition.Definition>
    provideDefinitions(io.vertigo.core.node.definition.DefinitionSpace definitionSpace)
    <E extends io.vertigo.datamodel.data.model.Entity>
    E
    readOne(io.vertigo.datamodel.data.model.UID<E> uri)
    Récupération d'un objet persistant par son UID.
    <E extends io.vertigo.datamodel.data.model.Entity>
    E
    readOneForUpdate(io.vertigo.datamodel.data.model.UID<E> uri)
    Loads and marks element for update, and ensure non concurrency.
    <D extends io.vertigo.datamodel.data.model.DataObject>
    io.vertigo.datamodel.data.model.DtList<D>
    sort(io.vertigo.datamodel.data.model.DtList<D> list, String fieldName, boolean desc)
    Sorts a list from a column.
    void
     
    void
     
    void
    update(io.vertigo.datamodel.data.model.Entity entity)
    Update an object.
    <E extends io.vertigo.datamodel.data.model.Entity>
    void
    updateList(io.vertigo.datamodel.data.model.DtList<E> entities)
    Update a list of object.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.vertigo.core.node.definition.DefinitionProvider

    addDefinitionResourceConfig

    Methods inherited from interface io.vertigo.core.node.definition.SimpleDefinitionProvider

    get
  • Constructor Details

    • EntityStoreManagerImpl

      @Inject public EntityStoreManagerImpl(CacheManager cacheManager, io.vertigo.commons.transaction.VTransactionManager transactionManager, io.vertigo.commons.eventbus.EventBusManager eventBusManager, io.vertigo.datamodel.task.TaskManager taskManager, List<EntityStorePlugin> entityStorePlugins)
      Constructor
      Parameters:
      transactionManager - transactionManager
      eventBusManager - eventBusManager
      entityStoreManager - storeManager
      dataStoreConfig - dataStoreConfig
  • Method Details

    • start

      public void start()
      Specified by:
      start in interface io.vertigo.core.node.component.Activeable
    • stop

      public void stop()
      Specified by:
      stop in interface io.vertigo.core.node.component.Activeable
    • readOneForUpdate

      public <E extends io.vertigo.datamodel.data.model.Entity> E readOneForUpdate(io.vertigo.datamodel.data.model.UID<E> uri)
      Loads and marks element for update, and ensure non concurrency. Fire an update event for this uid on eventbus after commit.
      Specified by:
      readOneForUpdate in interface EntityStoreManager
      Type Parameters:
      E - the type of entity
      Parameters:
      uri - UID of object
      Returns:
      object to update
    • create

      public <E extends io.vertigo.datamodel.data.model.Entity> E create(E entity)
      Create an object. No object with the same id must have been created previously.
      Specified by:
      create in interface EntityStoreManager
      Parameters:
      entity - the entity to create
      Returns:
      the created object
    • createList

      public <E extends io.vertigo.datamodel.data.model.Entity> io.vertigo.datamodel.data.model.DtList<E> createList(io.vertigo.datamodel.data.model.DtList<E> entities)
      Create a list of object. The underlying implementation is performance optimized (like batch mode in SQL) No object with the same id must have been created previously.
      Specified by:
      createList in interface EntityStoreManager
      Parameters:
      entities - the entity to create
      Returns:
      the created objects
    • update

      public void update(io.vertigo.datamodel.data.model.Entity entity)
      Update an object. This object must have an id.
      Specified by:
      update in interface EntityStoreManager
      Parameters:
      entity - the entity to update
    • updateList

      public <E extends io.vertigo.datamodel.data.model.Entity> void updateList(io.vertigo.datamodel.data.model.DtList<E> entities)
      Description copied from interface: EntityStoreManager
      Update a list of object. The underlying implementation is performance optimized (like batch mode in SQL) All objects in the list must have an id
      Specified by:
      updateList in interface EntityStoreManager
      Parameters:
      entities - the entity to create
    • delete

      public void delete(io.vertigo.datamodel.data.model.UID<? extends io.vertigo.datamodel.data.model.Entity> uri)
      Destruction d'un objet persistant par son UID.
      Specified by:
      delete in interface EntityStoreManager
      Parameters:
      uri - UID de l'objet à supprimer
    • deleteList

      public <E extends io.vertigo.datamodel.data.model.Entity> void deleteList(List<io.vertigo.datamodel.data.model.UID<E>> uids)
      Description copied from interface: EntityStoreManager
      Delete a list of object uids. The underlying implementation is performance optimized (like batch mode in SQL)
      Specified by:
      deleteList in interface EntityStoreManager
      Parameters:
      uids - the uids to delete
    • readOne

      public <E extends io.vertigo.datamodel.data.model.Entity> E readOne(io.vertigo.datamodel.data.model.UID<E> uri)
      Récupération d'un objet persistant par son UID. Lorsque l'objet est en lecture seule il est possible d'accéder au objets partagés. (Liste de référence par ex) L'objet doit exister.
      Specified by:
      readOne in interface EntityStoreManager
      Type Parameters:
      E - the type of entity
      Parameters:
      uri - UID de l'object
      Returns:
      object récupéré NOT NULL
    • findAll

      public <E extends io.vertigo.datamodel.data.model.Entity> io.vertigo.datamodel.data.model.DtList<E> findAll(io.vertigo.datamodel.data.model.DtListURI uri)
      Récupération d'une liste identifiée par son UID.
      Specified by:
      findAll in interface EntityStoreManager
      Type Parameters:
      E - the type of entity
      Parameters:
      uri - UID de la collection à récupérer
      Returns:
      DtList DTC
    • find

      public <E extends io.vertigo.datamodel.data.model.Entity> io.vertigo.datamodel.data.model.DtList<E> find(io.vertigo.datamodel.data.definitions.DataDefinition dataDefinition, io.vertigo.datamodel.criteria.Criteria<E> criteria, io.vertigo.datamodel.data.model.DtListState dtListState)
      Returns a list identified by criteria
      Specified by:
      find in interface EntityStoreManager
      Parameters:
      dataDefinition - the list definition
      criteria - criteria
      dtListState - request state : sort, top, offset
      Returns:
      list
    • count

      public int count(io.vertigo.datamodel.data.definitions.DataDefinition dataDefinition)
      Nombre d'éléments présents dans le sysème de persistance.
      Specified by:
      count in interface EntityStoreManager
      Parameters:
      dataDefinition - Définition de DT
      Returns:
      Nombre d'éléments.
    • count

      public <E extends io.vertigo.datamodel.data.model.Entity> int count(io.vertigo.datamodel.data.definitions.DataDefinition dataDefinition, io.vertigo.datamodel.criteria.Criteria<E> criteria)
      Count elements identified by criteria
      Specified by:
      count in interface EntityStoreManager
      Parameters:
      dataDefinition - the list definition
      criteria - criteria
      Returns:
      count of elements
    • provideDefinitions

      public List<? extends io.vertigo.core.node.definition.Definition> provideDefinitions(io.vertigo.core.node.definition.DefinitionSpace definitionSpace)
      Specified by:
      provideDefinitions in interface io.vertigo.core.node.definition.SimpleDefinitionProvider
    • getBrokerNN

      public BrokerNN getBrokerNN()
      Return the a dedicated object that handles NN associations
      Specified by:
      getBrokerNN in interface EntityStoreManager
      Returns:
      the handler for NN Associations
    • getMasterDataConfig

      public MasterDataConfig getMasterDataConfig()
      Specified by:
      getMasterDataConfig in interface EntityStoreManager
    • getDataStoreConfig

      public EntityStoreConfig getDataStoreConfig()
      Specified by:
      getDataStoreConfig in interface EntityStoreManager
      Returns:
      Configuration du StoreManager
    • sort

      public <D extends io.vertigo.datamodel.data.model.DataObject> io.vertigo.datamodel.data.model.DtList<D> sort(io.vertigo.datamodel.data.model.DtList<D> list, String fieldName, boolean desc)
      Sorts a list from a column.
      Specified by:
      sort in interface EntityStoreManager
      Parameters:
      list - the list to sort
      fieldName - the field name
      desc - if the sotr is desc
      Returns:
      the sorted list