protected TypeSerializer<N> getNamespaceSerializer() { return stateTable.getNamespaceSerializer(); }
protected TypeSerializer<N> getNamespaceSerializer() { return stateTable.getNamespaceSerializer(); }
@SuppressWarnings("unchecked") static <K, N, SV, S extends State, IS extends S> IS create( StateDescriptor<S, SV> stateDesc, StateTable<K, N, SV> stateTable, TypeSerializer<K> keySerializer) { return (IS) new HeapValueState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue()); } }
@SuppressWarnings("unchecked") static <K, N, SV, S extends State, IS extends S> IS create( StateDescriptor<S, SV> stateDesc, StateTable<K, N, SV> stateTable, TypeSerializer<K> keySerializer) { return (IS) new HeapValueState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue()); } }
@SuppressWarnings("unchecked") static <E, K, N, SV, S extends State, IS extends S> IS create( StateDescriptor<S, SV> stateDesc, StateTable<K, N, SV> stateTable, TypeSerializer<K> keySerializer) { return (IS) new HeapListState<>( (StateTable<K, N, List<E>>) stateTable, keySerializer, (TypeSerializer<List<E>>) stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), (List<E>) stateDesc.getDefaultValue()); } }
@SuppressWarnings("unchecked") static <UK, UV, K, N, SV, S extends State, IS extends S> IS create( StateDescriptor<S, SV> stateDesc, StateTable<K, N, SV> stateTable, TypeSerializer<K> keySerializer) { return (IS) new HeapMapState<>( (StateTable<K, N, Map<UK, UV>>) stateTable, keySerializer, (TypeSerializer<Map<UK, UV>>) stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), (Map<UK, UV>) stateDesc.getDefaultValue()); } }
@SuppressWarnings("unchecked") static <UK, UV, K, N, SV, S extends State, IS extends S> IS create( StateDescriptor<S, SV> stateDesc, StateTable<K, N, SV> stateTable, TypeSerializer<K> keySerializer) { return (IS) new HeapMapState<>( (StateTable<K, N, Map<UK, UV>>) stateTable, keySerializer, (TypeSerializer<Map<UK, UV>>) stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), (Map<UK, UV>) stateDesc.getDefaultValue()); } }
@SuppressWarnings("unchecked") static <E, K, N, SV, S extends State, IS extends S> IS create( StateDescriptor<S, SV> stateDesc, StateTable<K, N, SV> stateTable, TypeSerializer<K> keySerializer) { return (IS) new HeapListState<>( (StateTable<K, N, List<E>>) stateTable, keySerializer, (TypeSerializer<List<E>>) stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), (List<E>) stateDesc.getDefaultValue()); } }
@Override protected <N, UK, UV> InternalMapState<K, N, UK, UV> createMapState( TypeSerializer<N> namespaceSerializer, MapStateDescriptor<UK, UV> stateDesc) throws Exception { StateTable<K, N, Map<UK, UV>> stateTable = tryRegisterStateTable(namespaceSerializer, stateDesc); return new HeapMapState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue()); }
@Override public <N, V> InternalValueState<K, N, V> createValueState( TypeSerializer<N> namespaceSerializer, ValueStateDescriptor<V> stateDesc) throws Exception { StateTable<K, N, V> stateTable = tryRegisterStateTable(namespaceSerializer, stateDesc); return new HeapValueState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue()); }
@Override public <N, T> InternalListState<K, N, T> createListState( TypeSerializer<N> namespaceSerializer, ListStateDescriptor<T> stateDesc) throws Exception { StateTable<K, N, List<T>> stateTable = tryRegisterStateTable(namespaceSerializer, stateDesc); return new HeapListState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue()); }
@SuppressWarnings("unchecked") static <K, N, SV, S extends State, IS extends S> IS create( StateDescriptor<S, SV> stateDesc, StateTable<K, N, SV> stateTable, TypeSerializer<K> keySerializer) { return (IS) new HeapReducingState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue(), ((ReducingStateDescriptor<SV>) stateDesc).getReduceFunction()); } }
@SuppressWarnings("unchecked") static <K, N, SV, S extends State, IS extends S> IS create( StateDescriptor<S, SV> stateDesc, StateTable<K, N, SV> stateTable, TypeSerializer<K> keySerializer) { return (IS) new HeapFoldingState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue(), ((FoldingStateDescriptor<SV, SV>) stateDesc).getFoldFunction()); } }
@SuppressWarnings("unchecked") static <K, N, SV, S extends State, IS extends S> IS create( StateDescriptor<S, SV> stateDesc, StateTable<K, N, SV> stateTable, TypeSerializer<K> keySerializer) { return (IS) new HeapReducingState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue(), ((ReducingStateDescriptor<SV>) stateDesc).getReduceFunction()); } }
@SuppressWarnings("unchecked") static <T, K, N, SV, S extends State, IS extends S> IS create( StateDescriptor<S, SV> stateDesc, StateTable<K, N, SV> stateTable, TypeSerializer<K> keySerializer) { return (IS) new HeapAggregatingState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue(), ((AggregatingStateDescriptor<T, SV, ?>) stateDesc).getAggregateFunction()); } }
@Override public <N, T, ACC> InternalFoldingState<K, N, T, ACC> createFoldingState( TypeSerializer<N> namespaceSerializer, FoldingStateDescriptor<T, ACC> stateDesc) throws Exception { StateTable<K, N, ACC> stateTable = tryRegisterStateTable(namespaceSerializer, stateDesc); return new HeapFoldingState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue(), stateDesc.getFoldFunction()); }
@Override public <N, T> InternalReducingState<K, N, T> createReducingState( TypeSerializer<N> namespaceSerializer, ReducingStateDescriptor<T> stateDesc) throws Exception { StateTable<K, N, T> stateTable = tryRegisterStateTable(namespaceSerializer, stateDesc); return new HeapReducingState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue(), stateDesc.getReduceFunction()); }
@Override public <N, T, ACC, R> InternalAggregatingState<K, N, T, ACC, R> createAggregatingState( TypeSerializer<N> namespaceSerializer, AggregatingStateDescriptor<T, ACC, R> stateDesc) throws Exception { StateTable<K, N, ACC> stateTable = tryRegisterStateTable(namespaceSerializer, stateDesc); return new HeapAggregatingState<>( stateTable, keySerializer, stateTable.getStateSerializer(), stateTable.getNamespaceSerializer(), stateDesc.getDefaultValue(), stateDesc.getAggregateFunction()); }
private static <K, N, S> StateSnapshotKeyGroupReader createV2PlusReader(StateTable<K, N, S> stateTable) { final TypeSerializer<K> keySerializer = stateTable.keyContext.getKeySerializer(); final TypeSerializer<N> namespaceSerializer = stateTable.getNamespaceSerializer(); final TypeSerializer<S> stateSerializer = stateTable.getStateSerializer(); final Tuple3<N, K, S> buffer = new Tuple3<>(); return KeyGroupPartitioner.createKeyGroupPartitionReader((in) -> { buffer.f0 = namespaceSerializer.deserialize(in); buffer.f1 = keySerializer.deserialize(in); buffer.f2 = stateSerializer.deserialize(in); return buffer; }, (element, keyGroupId1) -> stateTable.put(element.f1, keyGroupId1, element.f0, element.f2)); }
private static <K, N, S> StateSnapshotKeyGroupReader createV2PlusReader(StateTable<K, N, S> stateTable) { final TypeSerializer<K> keySerializer = stateTable.keyContext.getKeySerializer(); final TypeSerializer<N> namespaceSerializer = stateTable.getNamespaceSerializer(); final TypeSerializer<S> stateSerializer = stateTable.getStateSerializer(); final Tuple3<N, K, S> buffer = new Tuple3<>(); return KeyGroupPartitioner.createKeyGroupPartitionReader((in) -> { buffer.f0 = namespaceSerializer.deserialize(in); buffer.f1 = keySerializer.deserialize(in); buffer.f2 = stateSerializer.deserialize(in); return buffer; }, (element, keyGroupId1) -> stateTable.put(element.f1, keyGroupId1, element.f0, element.f2)); }