e.setPersistenceDelegate(Direction.class, new EnumDelegate());
}
public static void addAntlrPersistenceDelegates(XMLEncoder e)
{
e.setPersistenceDelegate(ASTNode.class, new PersistenceDelegate()
{
protected Expression instantiate(Object oldInstance, Encoder out)
{
return new Expression(oldInstance, oldInstance.getClass(),
"new", new Object[]
{ ((ASTNode) oldInstance).getToken() });
}
});
e.setPersistenceDelegate(CommonTree.class, new PersistenceDelegate()
{
protected Expression instantiate(Object oldInstance, Encoder out)
{
return new Expression(oldInstance, oldInstance.getClass(),
"new", new Object[]
{ ((CommonTree) oldInstance).getToken() });
}
});
e.setPersistenceDelegate(BaseTree.class, new PersistenceDelegate()
{
protected Expression instantiate(Object oldInstance, Encoder out)
{
return new Expression(oldInstance, oldInstance.getClass(),
"new", new Object[]
{});
}
@SuppressWarnings("rawtypes")
protected void initialize(Class type, Object oldInstance,
Object newInstance, Encoder out)
{
super.initialize(type, oldInstance, newInstance, out);
BaseTree t = (BaseTree) oldInstance;
for (int i = 0; i < t.getChildCount(); i++)
{
out.writeStatement(new Statement(oldInstance, "addChild",
new Object[]
{ t.getChild(i) }));
}
}
});
e.setPersistenceDelegate(CommonToken.class, new PersistenceDelegate()
{
protected Expression instantiate(Object oldInstance, Encoder out)
{
return new Expression(oldInstance, oldInstance.getClass(),
"new", new Object[]