首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略TypeConverter

忽略TypeConverter
EN

Stack Overflow用户
提问于 2017-07-24 22:09:24
回答 1查看 447关注 0票数 1

我在JDK7中使用了Mor情ationv1.3.2,我有由对象和子类表示的文档。在为使用它的内部映射程序而挣扎了一段时间之后,我找到了一种方法,可以根据类的文档和其他帖子改变类的反/序列化方式,我发现所需要的只是拥有这样一个类:

代码语言:javascript
复制
public class MyClassTypeConverter extends TypeConverter {

    public ActionTypeConverter() {
        super(MyClass.class);
    }

    @Override
     public Object decode(final Class targetClass, final Object fromDBObject, final MappedField optionalExtraInfo) {
          //do something to parse my class
          return new MyClass((DBObject) fromDBObject);
     }

     @Override
     public Object encode(final Object value, final MappedField optionalExtraInfo) {
        //do something to represent this  as JSON
        return value.toString();
     }
}

在这样注册这个typeConverter之后

代码语言:javascript
复制
morphia.getMapper().getConverters().addConverter(new MyClassTypeConverter());

它现在应该允许使用所提供的方法对文档进行反/序列化。但是由于某种原因,每个被注册的转换器都被完全忽略了,这种行为有什么原因吗?

注意:我找到了解决这个问题的方法。只是把这个问题留在这里作参考。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-24 22:09:24

在仔细研究了吗啡转换器的源代码之后,我发现每个注册的转换器都实现了SimpleValueConverter,顺便说一句,它有一个非常误导的文档( TypeConverter返回简单值的标记接口(int/long,string等))

代码语言:javascript
复制
public class MyClassTypeConverter extends TypeConverter implements SimpleValueConverter {

    public ActionTypeConverter() {
        super(MyClass.class);
    }

    @Override
     public Object decode(final Class targetClass, final Object fromDBObject, final MappedField optionalExtraInfo) {
          //do something to parse my class
          return new MyClass((DBObject) fromDBObject);
     }

     @Override
     public Object encode(final Object value, final MappedField optionalExtraInfo) {
        //do something to represent this  as JSON
        return value.toString();
     }
}

当我实现它时,我有自己的疑虑,但出于某种原因,我的转换器没有被忽略,文档被解析成它应该有的样子,所有的东西都像魔法一样工作,就像被点击的东西一样,最后我不再感到沮丧。我希望有人能找到有用的

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45290864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档