package org.andrewberman.ui;
import java.util.HashMap;
import java.util.Properties;
public class Style extends HashMap<Object, Object>
{
/**
* The parental style, from which we inherit values that weren't
* directly set within this style.
*/
Style parent;
/**
* A set of defaults particular to this style's class.
*/
protected static Style defaults;
@Override
public Object get(Object key)
{
if (containsKey(key))
{
return super.get(key);
} else if (parent != null)
{
return parent.get(key);
} else if (defaults != null && defaults.containsKey(key))
{
return defaults.get(key);
} else
{
System.err.println("No style found for: "+key);
return null;
}
}
public void set(Object key, Object value)
{
put(key, value);
}
public float getF(Object key)
{
float f;
try{
f = ((Float) get(key));
} catch (Exception e){
f = ((Integer)get(key));
}
return f;
}
public Color getC(Object key)
{
return ((Color) get(key));
}
public int getI(Object key)
{
return ((Integer) get(key));
}
public Object getO(Object key)
{
return get(key);
}
public void setParent(Style p)
{
parent = p;
}
}