BeanDescriptorCacheHelp( BeanDescriptor<T> desc, SpiCacheManager cacheManager, CacheOptions cacheOptions, boolean cacheSharableBeans, BeanPropertyAssocOne<?>[] propertiesOneImported) { this.desc = desc; this.beanType = desc.rootBeanType; this.cacheName = beanType.getSimpleName(); this.cacheManager = cacheManager; this.cacheOptions = cacheOptions; this.cacheSharableBeans = cacheSharableBeans; this.propertiesOneImported = propertiesOneImported; this.naturalKeyProperty = cacheOptions.getNaturalKey(); if (!cacheOptions.isEnableQueryCache()) { this.queryCache = null; } else { this.queryCache = cacheManager.getQueryCache(beanType); } if (cacheOptions.isEnableBeanCache()) { this.beanCache = cacheManager.getBeanCache(beanType); if (cacheOptions.getNaturalKey() != null) { this.naturalKeyCache = cacheManager.getNaturalKeyCache(beanType); } else { this.naturalKeyCache = null; } } else { this.beanCache = null; this.naturalKeyCache = null; } }
private boolean isNaturalKey(String propName) { return propName != null && propName.equals(cacheOptions.getNaturalKey()); }