ReferenceMap Class — netty Architecture
Architecture documentation for the ReferenceMap class in ReferenceMap.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 07a483d6_5d9d_65c5_5ccd_114cde40241d["ReferenceMap"] 3694dfbb_743f_cef3_3898_f58ff8446fdb["ReferenceMap.java"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|defined in| 3694dfbb_743f_cef3_3898_f58ff8446fdb 9053680e_1595_ab1c_d0f5_10b9f75ffd24["ReferenceMap()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| 9053680e_1595_ab1c_d0f5_10b9f75ffd24 d54c84b8_6a16_98a8_72e1_d8eaa0df5b15["fold()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| d54c84b8_6a16_98a8_72e1_d8eaa0df5b15 400cf5a8_b790_a517_2ca0_e8d84d7de27e["V()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| 400cf5a8_b790_a517_2ca0_e8d84d7de27e f4e3bc51_3d2f_26e5_4480_172ce8101e8f["size()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| f4e3bc51_3d2f_26e5_4480_172ce8101e8f 1defc057_b81b_b924_b546_5c6f3c5dd0dd["isEmpty()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| 1defc057_b81b_b924_b546_5c6f3c5dd0dd 4577d8ff_abd6_8b7d_a59f_aab41271c4db["containsKey()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| 4577d8ff_abd6_8b7d_a59f_aab41271c4db 9744813d_ed5d_aedc_5a3a_8dac0a4f4888["containsValue()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| 9744813d_ed5d_aedc_5a3a_8dac0a4f4888 52503087_9d9c_0596_ba55_f9d299486241["putAll()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| 52503087_9d9c_0596_ba55_f9d299486241 6a582848_3979_09c9_9674_6304d7f7b325["clear()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| 6a582848_3979_09c9_9674_6304d7f7b325 db2ff83c_def8_5e3f_fafe_897c7fec9894["keySet()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| db2ff83c_def8_5e3f_fafe_897c7fec9894 d67fde66_ee16_a730_f109_5a4f3de44cfb["values()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| d67fde66_ee16_a730_f109_5a4f3de44cfb 0c47787d_34f7_4e09_3d44_67d5f063a84e["entrySet()"] 07a483d6_5d9d_65c5_5ccd_114cde40241d -->|method| 0c47787d_34f7_4e09_3d44_67d5f063a84e
Relationship Graph
Source Code
codec-base/src/main/java/io/netty/handler/codec/serialization/ReferenceMap.java lines 23–102
abstract class ReferenceMap<K, V> implements Map<K, V> {
private final Map<K, Reference<V>> delegate;
protected ReferenceMap(Map<K, Reference<V>> delegate) {
this.delegate = delegate;
}
abstract Reference<V> fold(V value);
private V unfold(Reference<V> ref) {
if (ref == null) {
return null;
}
return ref.get();
}
@Override
public int size() {
return delegate.size();
}
@Override
public boolean isEmpty() {
return delegate.isEmpty();
}
@Override
public boolean containsKey(Object key) {
return delegate.containsKey(key);
}
@Override
public boolean containsValue(Object value) {
throw new UnsupportedOperationException();
}
@Override
public V get(Object key) {
return unfold(delegate.get(key));
}
@Override
public V put(K key, V value) {
return unfold(delegate.put(key, fold(value)));
}
@Override
public V remove(Object key) {
return unfold(delegate.remove(key));
}
@Override
public void putAll(Map<? extends K, ? extends V> m) {
for (Entry<? extends K, ? extends V> entry : m.entrySet()) {
delegate.put(entry.getKey(), fold(entry.getValue()));
}
}
@Override
public void clear() {
delegate.clear();
}
@Override
public Set<K> keySet() {
return delegate.keySet();
}
@Override
public Collection<V> values() {
throw new UnsupportedOperationException();
}
@Override
public Set<Entry<K, V>> entrySet() {
throw new UnsupportedOperationException();
}
}
Source
Frequently Asked Questions
What is the ReferenceMap class?
ReferenceMap is a class in the netty codebase, defined in codec-base/src/main/java/io/netty/handler/codec/serialization/ReferenceMap.java.
Where is ReferenceMap defined?
ReferenceMap is defined in codec-base/src/main/java/io/netty/handler/codec/serialization/ReferenceMap.java at line 23.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free