public class CacheMap<T,K> extends Object
CacheMap
is a two-level HashMap
. It uses Class as the key and you can map the key to an
object and a context as a pair. We use context because we want to register multiple objects with the same Class.
register(Class, Object, Object)
is the method to register a new entry. getRegisteredObject(Class,
Object)
will allow you to look up the object by specifying the Class and the context.Modifier and Type | Field and Description |
---|---|
protected List<RegistrationListener> |
listenerList
List of listeners
|
Constructor and Description |
---|
CacheMap(K defaultContext)
Constructs a
CacheMap . |
Modifier and Type | Method and Description |
---|---|
void |
addRegistrationListener(RegistrationListener l)
Adds a listener to the list that's notified each time a change to the registration occurs.
|
void |
clear() |
void |
fireRegistrationChanged(RegistrationEvent e)
Forwards the given notification event to all
RegistrationListeners that registered themselves as
listeners for this table model. |
protected com.jidesoft.utils.CacheMap.Cache<K,T> |
getCache(Class<?> clazz) |
K[] |
getKeys(Class<?> clazz,
K[] a)
Gets the secondary keys that are registered with the class in CacheMap.
|
T |
getMatchRegisteredObject(Class<?> clazz,
K context)
Gets the exact match registered object.
|
T |
getRegisteredObject(Class<?> clazz,
K context)
Gets registered object from CacheMap.
|
RegistrationListener[] |
getRegistrationListeners()
Returns an array of all the registration listeners registered on this registration.
|
List<T> |
getValues() |
protected com.jidesoft.utils.CacheMap.Cache<K,T> |
initCache(Class<?> clazz) |
void |
register(Class<?> clazz,
T object,
K context)
Registers an object with the specified clazz and object.
|
void |
remove(Class<?> clazz)
Remove all registrations for the designated class.
|
void |
removeRegistrationListener(RegistrationListener l)
Removes a listener from the list that's notified each time a change to the registration occurs.
|
void |
unregister(Class<?> clazz,
K context)
Unregisters the object associated with the specified class and context.
|
protected List<RegistrationListener> listenerList
public CacheMap(K defaultContext)
CacheMap
.defaultContext
- the default context.public K[] getKeys(Class<?> clazz, K[] a)
clazz
- the classa
- the array to receive the keys.public void register(Class<?> clazz, T object, K context)
clazz
- the class which is used as the key.object
- the object, or the value of the mappingcontext
- the secondary key. It is used to register multiple objects to the same primary key (the clazz
parameter in this case).public void unregister(Class<?> clazz, K context)
clazz
- the classcontext
- the contextpublic T getRegisteredObject(Class<?> clazz, K context)
clazz
- the class which is used as the primary key.context
- the context which is used as the secondary key. This parameter could be null in which case the
default context is used.public T getMatchRegisteredObject(Class<?> clazz, K context)
getRegisteredObject(Class, Object)
which will try
different context and super classes and interfaces to find match. This method will do an exact match.clazz
- the class which is used as the primary key.context
- the context which is used as the secondary key. This parameter could be null in which case the
default context is used.public void remove(Class<?> clazz)
clazz
- the classpublic void clear()
public void addRegistrationListener(RegistrationListener l)
l
- the RegistrationListenerpublic void removeRegistrationListener(RegistrationListener l)
l
- the RegistrationListenerpublic RegistrationListener[] getRegistrationListeners()
RegistrationListener
s or an empty array if no registration
listeners are currently registeredaddRegistrationListener(com.jidesoft.utils.RegistrationListener)
,
removeRegistrationListener(com.jidesoft.utils.RegistrationListener)
public void fireRegistrationChanged(RegistrationEvent e)
RegistrationListeners
that registered themselves as
listeners for this table model.e
- the event to be forwardedaddRegistrationListener(com.jidesoft.utils.RegistrationListener)
,
RegistrationEvent