Collections Castor哈希表多态性

Collections Castor哈希表多态性,collections,castor,Collections,Castor,你好 我试图使用castor构建一个哈希表,该哈希表具有抽象类的多个实现。 这是父“配置” 我不确定这里是否有足够的细节或一个结构良好的问题来给出准确的答案,但我做了一些非常类似的事情,遇到了一些障碍。我想我会提供我的2美分。我不像其他一些XML框架那样熟悉Castor,在我的例子中,Castor是自动编组/解编的,而不是我们手动编写代码来决定何时完成。如果我们手动完成这一部分,我想我们应该能够做出决定,将数据解包到扩展抽象类的特定类 我所有的免责声明都不妨碍你,你能做什么 **如果您可以在请

你好

我试图使用castor构建一个哈希表,该哈希表具有抽象类的多个实现。 这是父“配置”



我不确定这里是否有足够的细节或一个结构良好的问题来给出准确的答案,但我做了一些非常类似的事情,遇到了一些障碍。我想我会提供我的2美分。我不像其他一些XML框架那样熟悉Castor,在我的例子中,Castor是自动编组/解编的,而不是我们手动编写代码来决定何时完成。如果我们手动完成这一部分,我想我们应该能够做出决定,将数据解包到扩展抽象类的特定类

我所有的免责声明都不妨碍你,你能做什么

**如果您可以在请求/响应中添加一个字段,则创建如下内容:

public class RuleContainer {
 private RuleType ruleType;  // possibly build enum or other non-java equivalent
 private RuleImpl1 ruleImpl1;
 private RuleImpl2 ruleImpl2;
 private RuleImpl...N ruleImpl...N;
 // getters & setters, etc
}
然后,表的值将更改为

<field name="value" type="com.RuleContainer"></field>

并包括规则容器的映射

 <class name="com.RuleContainer">
   <field name="ruleType" type="com.RuleType"
   <field name="ruleImpl1" type="com.RuleImpl1">
   <field name="ruleImpl2" type="com.RuleImpl2">
   <field name="ruleImpl...N" type="com.RuleImpl...N">
 </class>

<field name="value" type="com.RuleContainer"></field>
 <class name="com.RuleContainer">
   <field name="ruleType" type="com.RuleType"
   <field name="ruleImpl1" type="com.RuleImpl1">
   <field name="ruleImpl2" type="com.RuleImpl2">
   <field name="ruleImpl...N" type="com.RuleImpl...N">
 </class>
<include href="" />