PersistitValueValueSource implements ValueSource { @Override public long getInt64() { if (needsDecoding(UnderlyingType.INT_64)) value.putInt64(persistitValue.getLong()); return value.getInt64(); } PersistitValueValueSource(); void attach(com.persistit.Value value); void getReady(TInstance expectedTInstance); @Override boolean hasAnyValue(); @Override boolean hasRawValue(); @Override boolean hasCacheValue(); @Override boolean canGetRawValue(); @Override Object getObject(); @Override TInstance getType(); @Override boolean isNull(); @Override boolean getBoolean(); @Override boolean getBoolean(boolean defaultValue); @Override byte getInt8(); @Override short getInt16(); @Override char getUInt16(); @Override int getInt32(); @Override long getInt64(); @Override float getFloat(); @Override double getDouble(); @Override byte[] getBytes(); @Override String getString();  }
@Test public void testSkippingNulls() { PersistitValueValueSource source = createSource(new ValueInit() { @Override public void putValues(Value value) { value.putNull(); value.put(1234L); } }); readyAndCheck(source, null); readyAndCheck(source, MNumeric.BIGINT); assertEquals("source value", 1234L, source.getInt64()); }