Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的条件映射框架_Java_Mapping - Fatal编程技术网

Java中的条件映射框架

Java中的条件映射框架,java,mapping,Java,Mapping,我的需求是将一个Java对象映射到另一个。但这是条件映射,如下所示 // Create Y from data in X // If X has a=A and b=B then set p=P in Y else set p=P' // If X has c that starts with "CC" then set q=Q in Y else set q=Q' // so on 我研究了Dozer和MapStruct,但发现它们不适合支持上述条件,也不会污染带有大量注释的代码 是否有任何

我的需求是将一个Java对象映射到另一个。但这是条件映射,如下所示

// Create Y from data in X
// If X has a=A and b=B then set p=P in Y else set p=P'
// If X has c that starts with "CC" then set q=Q in Y else set q=Q'
// so on
我研究了Dozer和MapStruct,但发现它们不适合支持上述条件,也不会污染带有大量注释的代码

是否有任何库可以清晰地抽象出这样的条件映射或规则。我的意思是,一些框架按顺序执行规则,最终从X创建Y

// Here ChainOfTransformers may be configuration driven transformation logic
ExpectedLibrary.map(SourceEntity, DestinationEntity, ChainOfTransformers) 

请告诉我使用MapStruct时可以浏览的开源单元,您可以查看它们和回调。两者都允许您手动执行其他映射逻辑


我个人认为,最好使用普通Java代码而不是某种“配置规则”来实现这些例程。

因为您显然拥有的逻辑似乎相当复杂,为什么不使用生成的输出,例如MapStruct,并使用您自己的逻辑来丰富它呢?