Adapter

org.eclipse.core.runtime.IAdaptable
Adapter ermöglichen es eigentlich inkompatible Klassen zueinander zu konvertieren. Im Beispiel soll eine HashMap zu einer List konvertiert werden:

public class AdaptableHashMap extends HashMap implements IAdaptable { 
   public Object getAdapter(Class clazz) {
      if (clazz == java.util.List.class) {
         List list = new ArrayList(this.size());
         list.addAll(this.values());
         return list;
      }
      return null;
   }
}

Die Verwendung sieht dann so aus:

IAdaptable adaptable = new AdaptableHashMap(); 
List list = (List)adaptable.getAdapter(java.util.List.class);
if (list != null)
   ...

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007