
org.directwebremoting.datasync.Directory Maven / Gradle / Ivy
package org.directwebremoting.datasync;
import java.util.HashMap;
import java.util.Map;
/**
* A way to find {@link StoreProvider}s that people wish to expose to the
* outside world.
* Warning. This API may well get wrapped in a Factory like the other DWR
* services.
* TODO: decide if we want to wrap this
* @author Joe Walker [joe at getahead dot ltd dot uk]
*/
public class Directory
{
/**
* Register a StoreProvider for access by the outside world
* @param storeId The id by which the store can be reached
* @param provider The store provider that holds the Map of data
*/
public static void register(String storeId, StoreProvider> provider)
{
providers.put(storeId, provider);
}
/**
* Remove the registration of a StoreProvider
* @param storeId The id by which the store can be reached
*/
public static void unregister(String storeId)
{
providers.remove(storeId);
}
/**
* Look up the StoreProvider by ID.
* @param ...
* @param storeId The id by which the store can be reached
* @param type ...
* @return The found StoreProvider or null if one is not found.
*/
@SuppressWarnings("unchecked")
public static StoreProvider getRegistration(String storeId, @SuppressWarnings("unused") Class type)
{
return (StoreProvider) providers.get(storeId);
}
/**
* Internal map of stores
*/
private static Map> providers = new HashMap>();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy