@InterfaceAudience.Private public class CacheableDeserializerIdManager extends Object
CacheableDeserializer
. All deserializers
are registered with this Manager via the registerDeserializer(CacheableDeserializer)
}.
On registration, we return an int *identifier* for this deserializer. The int identifier is
passed to getDeserializer(int)
} to obtain the registered deserializer instance.Modifier and Type | Field and Description |
---|---|
private static AtomicInteger |
identifier |
private static Map<Integer,CacheableDeserializer<Cacheable>> |
registeredDeserializers |
Constructor and Description |
---|
CacheableDeserializerIdManager() |
Modifier and Type | Method and Description |
---|---|
static CacheableDeserializer<Cacheable> |
getDeserializer(int id)
Get the cacheable deserializer registered at the given identifier Id.
|
static int |
registerDeserializer(CacheableDeserializer<Cacheable> cd)
Register the given
Cacheable -- usually an hfileblock instance, these implement the
Cacheable Interface -- deserializer and generate a unique identifier id for it and return this
as our result. |
static Map<Integer,String> |
save()
Snapshot a map of the current identifiers to class names for reconstruction on reading out of a
file.
|
private static final Map<Integer,CacheableDeserializer<Cacheable>> registeredDeserializers
private static final AtomicInteger identifier
public CacheableDeserializerIdManager()
public static int registerDeserializer(CacheableDeserializer<Cacheable> cd)
Cacheable
-- usually an hfileblock instance, these implement the
Cacheable Interface -- deserializer and generate a unique identifier id for it and return this
as our result.getDeserializer(int)
public static CacheableDeserializer<Cacheable> getDeserializer(int id)
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.