package uk.co.mmscomputing.util.metadata;
import java.util.*;
import uk.co.mmscomputing.util.configuration.*;
public class Metadata extends ConfigurationMap{
private Vector listeners=new Vector();
public Metadata(){
}
public Metadata(Class main){
super(main);
}
public void putString(String key, String value){
put(key,value);
}
public void putBoolean(String key, boolean value){
put(key,new String(Boolean.toString(value)));
}
public boolean getBoolean(String key){
String s=getString(key);
return Boolean.getBoolean(s);
}
public void putInt(String key, int value){
put(key,new String(Integer.toString(value)));
}
public void addListener(MetadataListener listener){
listeners.add(listener);
}
public void addListener(int index,MetadataListener listener){
listeners.add(index,listener);
}
// public void addListeners(Vector listToAdd){
// listeners.addAll(listToAdd);
// }
public void removeListener(MetadataListener listener){
listeners.remove(listener);
}
public void fireListenerUpdate(Object type){
for(Enumeration e = listeners.elements(); e.hasMoreElements() ;){
MetadataListener listener=(MetadataListener)e.nextElement();
listener.update(type,this);
}
}
public String toString(){
String s=getClass().getName()+"\n";
for(Enumeration e = listeners.elements(); e.hasMoreElements() ;){
MetadataListener listener=(MetadataListener)e.nextElement();
s+=listener+"\n";
}
return s;
}
}