Class CompactStringObjectMap
- java.lang.Object
-
- com.fasterxml.jackson.databind.util.CompactStringObjectMap
-
- All Implemented Interfaces:
java.io.Serializable
public final class CompactStringObjectMap extends java.lang.Object implements java.io.Serializable
Specialized lookup class that implements functionality similar toMap
, but for special case of key always beingString
and using more compact (and memory-access friendly) hashing scheme. Assumption is also that keys are typically intern()ed.Generics are not used to avoid bridge methods and since these maps are not exposed as part of external API.
- Since:
- 2.6
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Object[]
_hashArea
private int
_hashMask
private int
_spillCount
private static CompactStringObjectMap
EMPTY
Shared instance that can be used when there are no contents to Map.private static long
serialVersionUID
-
Constructor Summary
Constructors Modifier Constructor Description private
CompactStringObjectMap(int hashMask, int spillCount, java.lang.Object[] hashArea)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.Object
_find2(java.lang.String key, int slot, java.lang.Object match)
static <T> CompactStringObjectMap
construct(java.util.Map<java.lang.String,T> all)
java.lang.Object
find(java.lang.String key)
java.lang.Object
findCaseInsensitive(java.lang.String key)
private static int
findSize(int size)
java.util.List<java.lang.String>
keys()
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
EMPTY
private static final CompactStringObjectMap EMPTY
Shared instance that can be used when there are no contents to Map.
-
_hashMask
private final int _hashMask
-
_spillCount
private final int _spillCount
-
_hashArea
private final java.lang.Object[] _hashArea
-
-
Method Detail
-
construct
public static <T> CompactStringObjectMap construct(java.util.Map<java.lang.String,T> all)
-
findSize
private static final int findSize(int size)
-
find
public java.lang.Object find(java.lang.String key)
-
_find2
private final java.lang.Object _find2(java.lang.String key, int slot, java.lang.Object match)
-
findCaseInsensitive
public java.lang.Object findCaseInsensitive(java.lang.String key)
- Since:
- 2.9
-
keys
public java.util.List<java.lang.String> keys()
-
-