// Path: hibernate4-memcached-core/src/main/java/kr/pe/kwonnam/hibernate4memcached/regions/NaturalIdMemcachedRegion.java
// public class NaturalIdMemcachedRegion extends TransactionalDataMemcachedRegion implements NaturalIdRegion {
//     public NaturalIdMemcachedRegion(String regionName, OverridableReadOnlyProperties properties,
//                                     CacheDataDescription metadata, Settings settings,
//                                     MemcachedAdapter memcachedAdapter,
//                                     HibernateCacheTimestamper hibernateCacheTimestamper) {
//         super(new CacheNamespace(regionName, true), properties, metadata, settings, memcachedAdapter,
//               hibernateCacheTimestamper);
//     }
// 
//     @Override
//     public NaturalIdRegionAccessStrategy buildAccessStrategy(AccessType accessType) throws CacheException {
//         switch (accessType) {
//             case READ_ONLY:
//                 return new ReadOnlyNaturalIdRegionAccessStrategy(this);
//             case NONSTRICT_READ_WRITE:
//                 return new NonstrictReadWriteNaturalIdRegionAccessStrategy(this);
//             default:
//                 throw new CacheException("Unsupported access strategy : " + accessType + ".");
//         }
//     }
// }


import kr.pe.kwonnam.hibernate4memcached.regions.NaturalIdMemcachedRegion;
import org.hibernate.cache.CacheException;
import org.hibernate.cache.spi.access.SoftLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
package kr.pe.kwonnam.hibernate4memcached.strategies;


/**
 * @author KwonNam Son (kwon37xi@gmail.com)
 * @see org.hibernate.cache.spi.access.EntityRegionAccessStrategy
 */
public class ReadOnlyNaturalIdRegionAccessStrategy extends BaseNaturalIdMemcachedRegionAccessStrategy {
    private Logger log = LoggerFactory.getLogger(ReadOnlyNaturalIdRegionAccessStrategy.class);

// Path: hibernate4-memcached-core/src/main/java/kr/pe/kwonnam/hibernate4memcached/regions/NaturalIdMemcachedRegion.java
// public class NaturalIdMemcachedRegion extends TransactionalDataMemcachedRegion implements NaturalIdRegion {
//     public NaturalIdMemcachedRegion(String regionName, OverridableReadOnlyProperties properties,
//                                     CacheDataDescription metadata, Settings settings,
//                                     MemcachedAdapter memcachedAdapter,
//                                     HibernateCacheTimestamper hibernateCacheTimestamper) {
//         super(new CacheNamespace(regionName, true), properties, metadata, settings, memcachedAdapter,
//               hibernateCacheTimestamper);
//     }
// 
//     @Override
//     public NaturalIdRegionAccessStrategy buildAccessStrategy(AccessType accessType) throws CacheException {
//         switch (accessType) {
//             case READ_ONLY:
//                 return new ReadOnlyNaturalIdRegionAccessStrategy(this);
//             case NONSTRICT_READ_WRITE:
//                 return new NonstrictReadWriteNaturalIdRegionAccessStrategy(this);
//             default:
//                 throw new CacheException("Unsupported access strategy : " + accessType + ".");
//         }
//     }
// }


// Path: hibernate4-memcached-core/src/main/java/kr/pe/kwonnam/hibernate4memcached/strategies/ReadOnlyNaturalIdRegionAccessStrategy.java
import kr.pe.kwonnam.hibernate4memcached.regions.NaturalIdMemcachedRegion;
import org.hibernate.cache.CacheException;
import org.hibernate.cache.spi.access.SoftLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

package kr.pe.kwonnam.hibernate4memcached.strategies;


/**
 * @author KwonNam Son (kwon37xi@gmail.com)
 * @see org.hibernate.cache.spi.access.EntityRegionAccessStrategy
 */
public class ReadOnlyNaturalIdRegionAccessStrategy extends BaseNaturalIdMemcachedRegionAccessStrategy {
    private Logger log = LoggerFactory.getLogger(ReadOnlyNaturalIdRegionAccessStrategy.class);

    public ReadOnlyNaturalIdRegionAccessStrategy(NaturalIdMemcachedRegion naturalIdMemcachedRegion) {