Tag: 复合

JAXB和复合模式

我现在正在使用JAXB,我正在努力注释我的前置条件查询的复合概念,以便JAXB会很高兴。 前提条件查询可以是: simple:只包含查询的文本节点 复合 OR:1个前提条件查询或其他匹配的前提条件 AND:1个前置条件查询和其他匹配的前提条件 当然,复合查询可以由复合查询组成,就像在以下示例中一样: foo bar baz 在我的Java模型中,我有一个单独的接口注释PreconditionQuery(实际上是一个抽象类,因为JAXB似乎对接口不满意)有3个实现SimplePreconditionQuery,CompoundOrPreconditionQuery和CompoundAndPreconditionQuery。 @XmlSeeAlso(PreconditionQuery.class) @XmlRootElement(name = “query”) public class SimplePreconditionQuery extends PreconditionQuery { private String query; @XmlValue public String getQuery() { return query; } public void setQuery(String query) { this.query = query; } } 对于复合的(CompoundOrPreconditionQuery基本相同): @XmlSeeAlso(PreconditionQuery.class) @XmlRootElement(name = “and”) public class CompoundAndPreconditionQuery extends PreconditionQuery { private Collection […]

复合inheritance:如何在子类构造函数中分配一个最终字段,该字段取决于’this’值(向后引用)?

我使用复合类来分组function。 但是,A类(具有复合A1)由B(具有复合B1)inheritance,并且A1处存在的行为将在B1处被调整,但是最终a1必须是B1实例才能使其工作。 Obs。:我有办法确保复合实例化正确发生(仅由其复合伙伴)。 无法将B1对象分配给a1 final字段: class finalFieldTestFails{ class A1{ A1(A a){} } class A{ protected final A1 a1; A(){ this.a1 = new A1(this); } A(A1 a1){ this.a1 = a1; } } class B1 extends A1{ B1(B b){ super(b); } } class B extends A{ //B(){ super.a1=new B1(this); } //FAIL: cant change final value //B(){super(new B1(this));} […]