@Override public void remove(UK userKey) { Map<UK, UV> userMap = stateTable.get(currentNamespace); if (userMap == null) { return; } userMap.remove(userKey); if (userMap.isEmpty()) { clear(); } }
@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()); } }
@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 void remove(UK userKey) { HashMap<UK, UV> userMap = stateTable.get(currentNamespace); if (userMap == null) { return; } userMap.remove(userKey); if (userMap.isEmpty()) { clear(); } }
@Override public <N, UK, UV> InternalMapState<N, UK, UV> createMapState(TypeSerializer<N> namespaceSerializer, MapStateDescriptor<UK, UV> stateDesc) throws Exception { StateTable<K, N, HashMap<UK, UV>> stateTable = tryRegisterStateTable( stateDesc.getName(), stateDesc.getType(), namespaceSerializer, new HashMapSerializer<>(stateDesc.getKeySerializer(), stateDesc.getValueSerializer())); return new HeapMapState<>(stateDesc, stateTable, keySerializer, namespaceSerializer); }
@Override public void remove(UK userKey) { Map<UK, UV> userMap = stateTable.get(currentNamespace); if (userMap == null) { return; } userMap.remove(userKey); if (userMap.isEmpty()) { clear(); } }
@Override public void remove(UK userKey) { Map<UK, UV> userMap = stateTable.get(currentNamespace); if (userMap == null) { return; } userMap.remove(userKey); if (userMap.isEmpty()) { clear(); } }