protected int getValueBytesFromIdImpl(int id, byte[] returnValue, int offset) { int seq = calcSeqNoFromId(id); return lookupValueFromSeqNo(headSize, seq, returnValue, offset); }
@Override protected int getValueBytesFromIdImpl(int id, byte[] returnValue, int offset) { if (id < baseId || id >= baseId + nValues) throw new IllegalArgumentException("Not a valid ID: " + id); int seq = calcSeqNoFromId(id); return lookupValueFromSeqNo(headSize, seq, returnValue, offset); }
@Override final protected T getValueFromIdImpl(int id) { if (enableCache) { Object[] cache = idToValueCache.get(); // SoftReference to skip // cache gracefully when // short of memory if (cache != null) { int seq = calcSeqNoFromId(id); if (seq < 0 || seq >= nValues) throw new IllegalArgumentException("Not a valid ID: " + id); if (cache[seq] != null) return (T) cache[seq]; byte[] value = new byte[getSizeOfValue()]; int length = getValueBytesFromId(id, value, 0); T result = bytesConvert.convertFromBytes(value, 0, length); cache[seq] = result; return result; } } byte[] value = new byte[getSizeOfValue()]; int length = getValueBytesFromId(id, value, 0); return bytesConvert.convertFromBytes(value, 0, length); }
protected int getValueBytesFromIdImpl(int id, byte[] returnValue, int offset) { int seq = calcSeqNoFromId(id); return lookupValueFromSeqNo(headSize, seq, returnValue, offset); }
@Override protected int getValueBytesFromIdImpl(int id, byte[] returnValue, int offset) { if (id < baseId || id >= baseId + nValues) throw new IllegalArgumentException("Not a valid ID: " + id); int seq = calcSeqNoFromId(id); return lookupValueFromSeqNo(headSize, seq, returnValue, offset); }
@Override final protected T getValueFromIdImpl(int id) { if (enableCache) { Object[] cache = idToValueCache.get(); // SoftReference to skip cache gracefully when short of memory if (cache != null) { int seq = calcSeqNoFromId(id); if (seq < 0 || seq >= nValues) throw new IllegalArgumentException("Not a valid ID: " + id); if (cache[seq] != null) return (T) cache[seq]; byte[] value = new byte[getSizeOfValue()]; int length = getValueBytesFromId(id, value, 0); T result = bytesConvert.convertFromBytes(value, 0, length); cache[seq] = result; return result; } } byte[] value = new byte[getSizeOfValue()]; int length = getValueBytesFromId(id, value, 0); return bytesConvert.convertFromBytes(value, 0, length); }