public CollectionReadWriteAccess( DomainDataRegion region, CacheKeysFactory keysFactory, DomainDataStorageAccess storageAccess, CollectionDataCachingConfig config) { super( region, storageAccess ); this.keysFactory = keysFactory; this.collectionRole = config.getNavigableRole(); this.versionComparator = config.getOwnerVersionComparator(); }
private Map<NavigableRole, CollectionDataAccess> generateCollectionDataAccessMap( DomainDataRegionConfig regionConfig) { if ( regionConfig.getCollectionCaching().isEmpty() ) { return Collections.emptyMap(); } final Map<NavigableRole, CollectionDataAccess> accessMap = new ConcurrentHashMap<>(); for ( CollectionDataCachingConfig cachingConfig : regionConfig.getCollectionCaching() ) { accessMap.computeIfAbsent( cachingConfig.getNavigableRole(), hierarchy -> generateCollectionAccess( cachingConfig ) ); } return Collections.unmodifiableMap( accessMap ); }
@Override public CollectionDataAccess generateCollectionAccess(CollectionDataCachingConfig accessConfig) { final NavigableRole namedCollectionRole = accessConfig.getNavigableRole(); log.debugf( "Generating collection cache access : %s", namedCollectionRole ); switch ( accessConfig.getAccessType() ) { case READ_ONLY: { return generateReadOnlyCollectionAccess( accessConfig ); } case READ_WRITE: { return generateReadWriteCollectionAccess( accessConfig ); } case NONSTRICT_READ_WRITE: { return generateNonStrictReadWriteCollectionAccess( accessConfig ); } case TRANSACTIONAL: { return generateTransactionalCollectionDataAccess( accessConfig ); } default: { throw new IllegalArgumentException( "Unrecognized cache AccessType - " + accessConfig.getAccessType() ); } } }
collectionAccessConfig.getNavigableRole(), region.getCollectionDataAccess( collectionAccessConfig.getNavigableRole() ) );
private Map<NavigableRole, CollectionDataAccess> generateCollectionDataAccessMap( DomainDataRegionConfig regionConfig) { if ( regionConfig.getCollectionCaching().isEmpty() ) { return Collections.emptyMap(); } final Map<NavigableRole, CollectionDataAccess> accessMap = new ConcurrentHashMap<>(); for ( CollectionDataCachingConfig cachingConfig : regionConfig.getCollectionCaching() ) { accessMap.computeIfAbsent( cachingConfig.getNavigableRole(), hierarchy -> generateCollectionAccess( cachingConfig ) ); } return Collections.unmodifiableMap( accessMap ); }
private Map<NavigableRole, CollectionDataAccess> generateCollectionDataAccessMap( DomainDataRegionConfig regionConfig) { if ( regionConfig.getNaturalIdCaching().isEmpty() ) { return Collections.emptyMap(); } final Map<NavigableRole, CollectionDataAccess> accessMap = new ConcurrentHashMap<>(); for ( CollectionDataCachingConfig cachingConfig : regionConfig.getCollectionCaching() ) { accessMap.computeIfAbsent( cachingConfig.getNavigableRole(), hierarchy -> generateCollectionAccess( cachingConfig ) ); } return Collections.unmodifiableMap( accessMap ); }
@Override public CollectionDataAccess generateCollectionAccess(CollectionDataCachingConfig accessConfig) { final NavigableRole namedCollectionRole = accessConfig.getNavigableRole(); log.debugf( "Generating collection cache access : %s", namedCollectionRole ); switch ( accessConfig.getAccessType() ) { case READ_ONLY: { return generateReadOnlyCollectionAccess( accessConfig ); } case READ_WRITE: { return generateReadWriteCollectionAccess( accessConfig ); } case NONSTRICT_READ_WRITE: { return generateNonStrictReadWriteCollectionAccess( accessConfig ); } case TRANSACTIONAL: { return generateTransactionalCollectionDataAccess( accessConfig ); } default: { throw new IllegalArgumentException( "Unrecognized cache AccessType - " + accessConfig.getAccessType() ); } } }
collectionAccessConfig.getNavigableRole(), region.getCollectionDataAccess( collectionAccessConfig.getNavigableRole() ) );