@Override public <N, T, ACC> InternalFoldingState<N, T, ACC> createFoldingState( TypeSerializer<N> namespaceSerializer, FoldingStateDescriptor<T, ACC> stateDesc) throws Exception { StateTable<K, N, ACC> stateTable = tryRegisterStateTable(namespaceSerializer, stateDesc); return new HeapFoldingState<>(stateDesc, stateTable, keySerializer, namespaceSerializer); }
@Override public void add(T value) throws IOException { if (value == null) { clear(); return; } try { stateTable.transform(currentNamespace, value, foldTransformation); } catch (Exception e) { throw new IOException("Could not add value to folding state.", e); } }
@Override public ACC get() { return getInternal(); }
@Override public void add(T value) throws IOException { if (value == null) { clear(); return; } try { stateTable.transform(currentNamespace, value, foldTransformation); } catch (Exception e) { throw new IOException("Could not add value to folding state.", e); } }
@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()); } }
@Override public ACC get() { return getInternal(); }
@Override public void add(T value) throws IOException { if (value == null) { clear(); return; } try { stateTable.transform(currentNamespace, value, foldTransformation); } catch (Exception e) { throw new IOException("Could not add value to folding state.", e); } }
@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()); } }
@Override public void add(T value) throws IOException { if (value == null) { clear(); return; } try { stateTable.transform(currentNamespace, value, foldTransformation); } catch (Exception e) { throw new IOException("Could not add value to folding state.", e); } }
@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()); }