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); }
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; }