package spiel;

import java.beans.DefaultPersistenceDelegate;
import java.beans.Expression;
import java.beans.Encoder;

/**
 * eine Klasse, die zur XMLisierung von Enum-Klassen benötigt wird, da Java 1.5 hier
 * mangelhaft ist, siehe http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5015403
 */
public class EnumDelegate extends DefaultPersistenceDelegate
{
   protected Expression instantiate(Object oldInstance, Encoder dummy)
   {
      return new Expression(Enum.class,
         "valueOf",
         new Object[] { oldInstance.getClass(), ((Enum) oldInstance).name() });
   }
   protected boolean mutatesTo(Object oldInstance, Object newInstance)
   {
      return oldInstance == newInstance;
   }
}

