/*
* Ext GWT - Ext for GWT
* Copyright(c) 2007-2009, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
package com.extjs.gxt.ui.client;
import java.util.Map;
import com.extjs.gxt.ui.client.core.FastMap;
import com.extjs.gxt.ui.client.event.BaseObservable;
/**
* A local storage of objects stored by id.
*/
public final class Registry extends BaseObservable {
protected static Map<String, Object> map = new FastMap<Object>();
/**
* Returns the object with the given id.
*
* @param id the identifier
* @return the object or <code>null</code> if no match
*/
@SuppressWarnings("unchecked")
public static <X> X get(String id) {
return (X) map.get(id);
}
/**
* Returns a map of all registered objects.
*
* @return the object map
*/
public static Map<String, Object> getAll() {
return map;
}
/**
* Registers an object.
*
* @param id the identifier
* @param obj the object to be registered
*/
public static void register(String id, Object obj) {
map.put(id, obj);
}
/**
* Unregisters an object.
*
* @param id the identifier
*/
public static void unregister(String id) {
map.remove(id);
}
/**
* Unregisters all registered objects.
*/
public static void unregisterAll() {
map.clear();
}
private Registry() {
}
}