protected boolean putInternal(int index, byte[] key, byte[] value) throws Exception { byte[] existingData = _dataArray.get(index); if (existingData == null || existingData.length == 0) { _dataArray.set(index, _dataHandler.assemble(key, value), nextScn()); _loadCount++; } else { try { _dataArray.set(index, _dataHandler.assemble(key, value, existingData), nextScn()); } catch (Exception e) { _log.warn("Value reset at index=" + index + " key=\"" + new String(key) + "\""); _dataArray.set(index, _dataHandler.assemble(key, value), nextScn()); } } return true; }
private boolean deleteInternal(int index, byte[] key) throws Exception { try { byte[] existingData = _dataArray.get(index); if (existingData != null) { int newLength = _dataHandler.removeByKey(key, existingData); if (newLength == 0) { // entire data is removed _dataArray.set(index, null, nextScn()); _loadCount--; return true; } else if (newLength < existingData.length) { // partial data is removed _dataArray.set(index, existingData, 0, newLength, nextScn()); return true; } } } catch (Exception e) { _log.warn("Failed to delete key=\"" + new String(key) + "\" : " + e.getMessage()); _dataArray.set(index, null, nextScn()); } // no data is removed return false; }
private boolean putReplace(int index, byte[] key, byte[] value) throws Exception { _dataArray.set(index, _dataHandler.assemble(key, value), nextScn()); return true; }
private boolean setInternal(int index, byte[] key, byte[] value) throws Exception { _dataArray.set(index, _dataHandler.assemble(key, value), nextScn()); _loadCount++; return true; }