예제 #1
0
 public <D extends DtObject> DtList<D> loadList(final DtListURI uri) {
   Assertion.checkNotNull(uri);
   // -----
   // - Prise en compte du cache
   // On ne met pas en cache les URI d'une association NN
   if (cacheDataStoreConfig.isCacheable(uri.getDtDefinition()) && !isMultipleAssociation(uri)) {
     DtList<D> dtc = cacheDataStoreConfig.getDataCache().getDtList(uri);
     if (dtc == null) {
       dtc = this.<D>reloadList(uri);
     }
     return dtc;
   }
   // Si la liste n'est pas dans le cache alors on lit depuis le store.
   return doLoadList(uri.getDtDefinition(), uri);
 }
예제 #2
0
 private synchronized <D extends DtObject> DtList<D> reloadList(final DtListURI uri) {
   // On charge la liste initiale avec les critéres définis en amont
   final DtList<D> dtc = doLoadList(uri.getDtDefinition(), uri);
   // Mise en cache de la liste et des éléments.
   cacheDataStoreConfig.getDataCache().putDtList(dtc);
   return dtc;
 }