/*
Copyright (C) 2001, 2006 United States Government
as represented by the Administrator of the
National Aeronautics and Space Administration.
All Rights Reserved.
*/
package gov.nasa.worldwind.render;
import gov.nasa.worldwind.Disposable;
import gov.nasa.worldwind.util.Logging;
import com.sun.opengl.util.j2d.TextRenderer;
import java.util.concurrent.ConcurrentHashMap;
import java.util.Map;
/**
* @author tag
* @version $Id: TextRendererCache.java 3491 2007-11-13 07:04:30Z tgaskins $
*/
public class TextRendererCache implements Disposable
{
private ConcurrentHashMap<Object, TextRenderer> renderers = new ConcurrentHashMap<Object, TextRenderer>();
public void dispose()
{
for (Map.Entry<Object, TextRenderer> e : this.renderers.entrySet())
if (e.getValue() != null)
e.getValue().dispose();
this.renderers.clear();
}
public void add(Object key, TextRenderer textRenderer)
{
if (key == null)
{
String message = Logging.getMessage("nullValue.KeyIsNull");
Logging.logger().severe(message);
throw new IllegalArgumentException(message);
}
this.renderers.put(key, textRenderer);
}
public void remove(Object key)
{
if (key == null)
{
String message = Logging.getMessage("nullValue.KeyIsNull");
Logging.logger().severe(message);
throw new IllegalArgumentException(message);
}
this.renderers.remove(key);
}
public TextRenderer get(Object key)
{
if (key == null)
{
String message = Logging.getMessage("nullValue.KeyIsNull");
Logging.logger().severe(message);
throw new IllegalArgumentException(message);
}
return this.renderers.get(key);
}
}