从字符串到字符串的ValueConverter



我需要对所有字符串执行额外的修改,是否有可能使ValueConverter具有目标类型为String,或者如果没有,我可以通过其他方式做到这一点?

class StringValueConverter implements ValueConverter {
    @Override
    boolean canConvert(Object value) {
        value instanceof String
    }
    @Override
    Object convert(Object value) {
       //modifying value
    }
    @Override
    Class<?> getTargetType() {
        return String
    }
}
我需要在绑定
之前做

在Groovy中可以。有多种方法:

Using Extension Module就是其中之一。

另一种方法是使用运行时元编程,例如:

String.metaClass.flip = {
    delegate.reverse()
}
assert "Hello".flip() == "olleH"

上面是一个人为的例子,向String的metaClass添加方法,但是你的例子中的convert方法也可以适合。

然而,扩展模块是什么可以在您的情况下是健壮的,如果您正在寻找canConvert添加健全,这将不需要运行时元类方法,因为它们只适用于String类。

相关内容

  • 没有找到相关文章

最新更新