/** * INTERNAL: * Index the object by index in the cache using its row. */ public void indexObjectInCache(CacheKey cacheKey, AbstractRecord databaseRow, Object domainObject, ClassDescriptor descriptor, AbstractSession session, boolean refresh) { if (!hasCacheIndexes()) { return; } for (CacheIndex index : this.cacheIndexes.values()) { if (!refresh || index.isUpdateable()) { List<DatabaseField> fields = index.getFields(); int size = fields.size(); Object[] values = new Object[size]; for (int count = 0; count < size; count++) { values[count] = databaseRow.get(fields.get(count)); } CacheId indexValues = new CacheId(values); session.getIdentityMapAccessorInstance().putCacheKeyByIndex(index, indexValues, cacheKey, descriptor); } } }
/** * INTERNAL: * Index the object by index in the cache using its row. */ public void indexObjectInCache(CacheKey cacheKey, AbstractRecord databaseRow, Object domainObject, ClassDescriptor descriptor, AbstractSession session, boolean refresh) { if (!hasCacheIndexes()) { return; } for (CacheIndex index : this.cacheIndexes.values()) { if (!refresh || index.isUpdateable()) { List<DatabaseField> fields = index.getFields(); int size = fields.size(); Object[] values = new Object[size]; for (int count = 0; count < size; count++) { values[count] = databaseRow.get(fields.get(count)); } CacheId indexValues = new CacheId(values); session.getIdentityMapAccessorInstance().putCacheKeyByIndex(index, indexValues, cacheKey, descriptor); } } }
/** * INTERNAL: * Index the object by index in the cache using the object. */ public void indexObjectInCache(CacheKey cacheKey, Object object, ClassDescriptor descriptor, AbstractSession session, boolean refresh) { if (!hasCacheIndexes()) { return; } for (CacheIndex index : this.cacheIndexes.values()) { if (!refresh || index.isUpdateable()) { List<DatabaseField> fields = index.getFields(); int size = fields.size(); Object[] values = new Object[size]; for (int count = 0; count < size; count++) { values[count] = descriptor.getObjectBuilder().extractValueFromObjectForField(object, fields.get(count), session); } CacheId indexValues = new CacheId(values); session.getIdentityMapAccessorInstance().putCacheKeyByIndex(index, indexValues, cacheKey, descriptor); } } }
/** * INTERNAL: * Index the object by index in the cache using the object. */ public void indexObjectInCache(CacheKey cacheKey, Object object, ClassDescriptor descriptor, AbstractSession session, boolean refresh) { if (!hasCacheIndexes()) { return; } for (CacheIndex index : this.cacheIndexes.values()) { if (!refresh || index.isUpdateable()) { List<DatabaseField> fields = index.getFields(); int size = fields.size(); Object[] values = new Object[size]; for (int count = 0; count < size; count++) { values[count] = descriptor.getObjectBuilder().extractValueFromObjectForField(object, fields.get(count), session); } CacheId indexValues = new CacheId(values); session.getIdentityMapAccessorInstance().putCacheKeyByIndex(index, indexValues, cacheKey, descriptor); } } }
if ((changeSet == null) || (changeSet.isNew() && index.isInsertable()) || (!changeSet.isNew() && index.isUpdateable())) { List<DatabaseField> fields = index.getFields(); int size = fields.size();
if ((changeSet == null) || (changeSet.isNew() && index.isInsertable()) || (!changeSet.isNew() && index.isUpdateable())) { List<DatabaseField> fields = index.getFields(); int size = fields.size();