@Override public S putAndGetOld(N namespace, S state) { return putAndGetOld(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace, state); }
@Override public S get(N namespace) { return get(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public void remove(N namespace) { remove(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public S get(N namespace) { return get(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public void remove(N namespace) { remove(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public boolean containsKey(N namespace) { return containsKey(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public S putAndGetOld(N namespace, S state) { return putAndGetOld(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace, state); }
@Override public S removeAndGetOld(N namespace) { return removeAndGetOld(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public S get(N namespace) { return get(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public S removeAndGetOld(N namespace) { return removeAndGetOld(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public S get(N namespace) { return get(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public S putAndGetOld(N namespace, S state) { return putAndGetOld(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace, state); }
@Override public S putAndGetOld(N namespace, S state) { return putAndGetOld(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace, state); }
@Override public void remove(N namespace) { remove(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public boolean containsKey(N namespace) { return containsKey(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public void put(N namespace, S state) { put(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace, state); }
@Override public void remove(N namespace) { remove(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public S removeAndGetOld(N namespace) { return removeAndGetOld(keyContext.getCurrentKey(), keyContext.getCurrentKeyGroupIndex(), namespace); }
@Override public <T> void transform(N namespace, T value, StateTransformationFunction<S, T> transformation) throws Exception { final K key = keyContext.getCurrentKey(); checkKeyNamespacePreconditions(key, namespace); final int keyGroupIndex = keyContext.getCurrentKeyGroupIndex(); Map<N, Map<K, S>> namespaceMap = getMapForKeyGroup(keyGroupIndex); if (namespaceMap == null) { namespaceMap = new HashMap<>(); setMapForKeyGroup(keyGroupIndex, namespaceMap); } Map<K, S> keyedMap = namespaceMap.computeIfAbsent(namespace, k -> new HashMap<>()); keyedMap.put(key, transformation.apply(keyedMap.get(key), value)); }
@Override public <T> void transform(N namespace, T value, StateTransformationFunction<S, T> transformation) throws Exception { final K key = keyContext.getCurrentKey(); checkKeyNamespacePreconditions(key, namespace); final int keyGroupIndex = keyContext.getCurrentKeyGroupIndex(); Map<N, Map<K, S>> namespaceMap = getMapForKeyGroup(keyGroupIndex); if (namespaceMap == null) { namespaceMap = new HashMap<>(); setMapForKeyGroup(keyGroupIndex, namespaceMap); } Map<K, S> keyedMap = namespaceMap.computeIfAbsent(namespace, k -> new HashMap<>()); keyedMap.put(key, transformation.apply(keyedMap.get(key), value)); }