1

我正在使用 SimpleXML 框架。我有三个类,B 和 C 扩展 A:

课程

public class A {
}
public class B extends A {
}
public class C extends A {
}

我可以为 A 类注册一个转换器:

序列化

Registry registry = new Registry();
registry.bind(A.class, AConverter.class);
Strategy strategy = new RegistryStrategy(registry);
Serializer serializer = new Persister(strategy);

转换器

public class AConverter implements Converter<A> {
@Override
public A read(InputNode n) throws Exception {
    // TODO Auto-generated method stub
    return null;
}
@Override
public void write(OutputNode n, A p) throws Exception {
    // TODO Auto-generated method stub
}
}

问题:AConverter 仅用于 A 类(不适用于 B 类和 C 类)。

如何将 AConverter 注册到 A 类(即 B 和 C)的所有实例?

注意:我认为 (Matcher & Transform) 的组合不适合我的情况,因为将来我需要在 ... 内部有很多内部块。

4

1 回答 1

0

你有没有尝试过

registry.bind(A.class, AConverter.class);
registry.bind(B.class, AConverter.class);
registry.bind(C.class, AConverter.class);
于 2013-05-11T12:59:21.713 回答