Closed FULaBUla closed 10 months ago
这里这个如果要支持表达式那就要引入ognl包,感觉为了这个不值得引入另一个包。
所以我想的是有两种方案:
确实,SPEL、OGNL、Groovy、JEXL、EL 这几种实现都需要引依赖。
我更倾向于第二种,感觉第一种会导致使用上混乱或者不灵活,不能配置多个。第二个的话,是不是这样实现,
@MagicClass
class A {
@MagicField(order = 1)
private int a;
@MagicField(order = 3)
private int length;
}
@MagicClass
class B {
@MagicField(order = 1)
private A a;
// 样式 1
@MagicField(order = 3, dynamicSizeof = 3, sizeFather = 1)
private byte[] data;
// 样式 2
@MagicField(order = 3, dynamicSizeof = 1.3)
private byte[] data;
}
现在已经实现并支持了。
废弃当前以orderrid作为引用,替换为以属性名为引用(支持相对引用和绝对引用)
可以直接以属性名引用当前同级或者下级所有属性,也支持以绝对引用(以根对象开始引用属性路径)
现在已经实现并支持了。
废弃当前以orderrid作为引用,替换为以属性名为引用(支持相对引用和绝对引用)
可以直接以属性名引用当前同级或者下级所有属性,也支持以绝对引用(以根对象开始引用属性路径)
旧的和新的使用方式是不是都存在比较好,否则这个对于已实现但想用新版本特性的代码改动量太大了吧
原先只考虑过长度是另一个属性的情况,所以直接指定对应的 order 即可拿到长度,但是如果长度被封在了一个 bean 里,那么直接指定 order 是那个封装的对象,长度在封装的对象里里面,也就没法取了