@Override public void encode(BigDecimal value, OutputStream outStream, Context context) throws IOException, CoderException { checkNotNull(value, String.format("cannot encode a null %s", BigDecimal.class.getSimpleName())); VAR_INT_CODER.encode(value.scale(), outStream); BIG_INT_CODER.encode(value.unscaledValue(), outStream, context); }
@Override public void snapshotKeyGroupState(int keyGroupIndex, DataOutputStream out) throws Exception { Set<ByteBuffer> ids = dedupingCache.get(keyGroupIndex).asMap().keySet(); VarIntCoder.of().encode(ids.size(), out, Context.NESTED); for (ByteBuffer id : ids) { ByteArrayCoder.of().encode(id.array(), out, Context.NESTED); } }
@Override public void encode(CustomWindow window, OutputStream outStream) throws IOException { INTERVAL_WINDOW_CODER.encode(window, outStream); VAR_INT_CODER.encode(window.isBig ? 1 : 0, outStream); }
@Override public void encode(ShardedKey<KeyT> key, OutputStream outStream) throws IOException { keyCoder.encode(key.getKey(), outStream); shardNumberCoder.encode(key.getShardNumber(), outStream); }
@Override public void encode(MyInteger value, OutputStream outStream) throws CoderException, IOException { delegate.encode(value.getValue(), outStream); }
@Override public void encode(KV<Integer, WindowedValue<?>> kv, OutputStream out) throws IOException { Coder<WindowedValue<?>> coder = idsToCoders.get(kv.getKey()); VarIntCoder.of().encode(kv.getKey(), out); coder.encode(kv.getValue(), out); }
@Override public void encode(KV<Integer, WindowedValue<?>> kv, OutputStream out) throws IOException { Coder<WindowedValue<?>> coder = idsToCoders.get(kv.getKey()); VarIntCoder.of().encode(kv.getKey(), out); coder.encode(kv.getValue(), out); }
@Override public void encode(KV<Integer, WindowedValue<?>> kv, OutputStream out) throws IOException { Coder<WindowedValue<?>> coder = idsToCoders.get(kv.getKey()); VarIntCoder.of().encode(kv.getKey(), out); coder.encode(kv.getValue(), out); }
@Override public void encode(Metadata value, OutputStream os) throws IOException { RESOURCE_ID_CODER.encode(value.resourceId(), os); INT_CODER.encode(value.isReadSeekEfficient() ? 1 : 0, os); LONG_CODER.encode(value.sizeBytes(), os); }
@Override public void encode(GrowthState<OutputT, KeyT, TerminationStateT> value, OutputStream os) throws IOException { completedCoder.encode(value.completed, os); VarIntCoder.of().encode(value.pending.size(), os); for (Map.Entry<HashCode, TimestampedValue<OutputT>> entry : value.pending.entrySet()) { HASH_CODE_CODER.encode(entry.getKey(), os); timestampedOutputCoder.encode(entry.getValue(), os); } BOOLEAN_CODER.encode(value.isOutputComplete, os); terminationStateCoder.encode(value.terminationState, os); INSTANT_CODER.encode(value.pollWatermark, os); }
@Override public void encode(FileIO.ReadableFile value, OutputStream os) throws IOException { MetadataCoder.of().encode(value.getMetadata(), os); VarIntCoder.of().encode(value.getCompression().ordinal(), os); }
@Override public void encode(KafkaRecord<K, V> value, OutputStream outStream) throws IOException { stringCoder.encode(value.getTopic(), outStream); intCoder.encode(value.getPartition(), outStream); longCoder.encode(value.getOffset(), outStream); longCoder.encode(value.getTimestamp(), outStream); intCoder.encode(value.getTimestampType().ordinal(), outStream); headerCoder.encode(toIterable(value), outStream); kvCoder.encode(value.getKV(), outStream); }
@Override public void encode(KafkaRecord<K, V> value, OutputStream outStream) throws IOException { stringCoder.encode(value.getTopic(), outStream); intCoder.encode(value.getPartition(), outStream); longCoder.encode(value.getOffset(), outStream); longCoder.encode(value.getTimestamp(), outStream); intCoder.encode(value.getTimestampType().ordinal(), outStream); headerCoder.encode(toIterable(value), outStream); kvCoder.encode(value.getKV(), outStream); }
@Override public void encode(TestType value, OutputStream outStream, Context context) throws IOException { VarIntCoder.of().encode(3, outStream); jaxbCoder.encode(value, outStream); VarLongCoder.of().encode(22L, outStream, context); }
@Override public void encode(IsmShard value, OutputStream outStream) throws CoderException, IOException { checkState( value.getIndexOffset() >= 0, "%s attempting to be written without index offset.", value); VarIntCoder.of().encode(value.getId(), outStream); VarLongCoder.of().encode(value.getBlockOffset(), outStream); VarLongCoder.of().encode(value.getIndexOffset(), outStream); }