继JAXB和复合模式之后,我设法映射:
<precondition>
<or>
<and>
<just><query>foo</query></just>
<just><query>bar</query></just>
</and>
<just><query>baz</query></just>
</or>
</precondition>
但我想绘制:
<precondition>
<or>
<and>
<query>foo</query>
<query>bar</query>
</and>
<query>baz</query>
</or>
</precondition>
我的JAXB类层次结构如下:
@XmlRootElement
@XmlSeeAlso({SimplePreconditionQuery.class, CompoundAndPreconditionQuery.class, CompoundOrPreconditionQuery.class})
public abstract class PreconditionQuery {
// JAXB does not deal with interfaces by default >:(
}
有几种类型的查询:
@XmlSeeAlso(PreconditionQuery.class)
@XmlRootElement(name = "just")
public class SimplePreconditionQuery extends PreconditionQuery {
private String query;
@XmlElement(name = "query")
public String getQuery() {
return query;
}
public void setQuery(String query) {
this.query = query;
}
}
复合词(和/或)非常相似:
@XmlSeeAlso(PreconditionQuery.class)
@XmlRootElement(name = "and")
public class CompoundAndPreconditionQuery extends PreconditionQuery {
private Collection<PreconditionQuery> preconditionQueries = newArrayList();
@XmlElementRef(name = "query")
public Collection<PreconditionQuery> getPreconditionQueries() {
return preconditionQueries;
}
public void setPreconditionQueries(Collection<PreconditionQuery> preconditionQueries) {
this.preconditionQueries = preconditionQueries;
}
}
和封闭bean:
public class Precondition {
private PreconditionQuery query;
@XmlElementRef(required = true)
public PreconditionQuery getQuery() {
return query;
}
public void setQuery(PreconditionQuery query) {
this.query = query;
}
}
JAXB不允许我只在SimplePreoditionQuery
上映射@XmlValue
。为什么以及有什么替代方案?
我现在正在使用JAXB,我正在努力注释我的前置条件查询的复合概念,以便JAXB会满意。 前提条件查询可以是: 简单:只有一个包含查询的文本节点 化合物 OR:1个前置条件查询的前置条件OR其他匹配 AND:1个前置条件查询的前置条件与其他匹配 当然,复合查询可以由复合查询组成,就像下面的例子一样: 在我的Java模型中,我有一个带注释的接口PreconditionQuery(实际上是一个抽象类,因
复合模式用于需要以与单个对象类似的方式处理一组对象的位置。 复合模式根据树结构组成对象,以表示部分以及整个层次结构。 这种类型的设计模式属于结构模式,因为此模式创建了一组对象的树结构。 此模式创建一个包含其自己的对象组的类。 此类提供了修改其相同对象组的方法。 我们通过以下示例演示复合模式的使用,其中我们将显示组织的员工层次结构。 实现 (Implementation) 我们有一个Employee
我正在尝试创建一个可以同时包含元素和值的java/jaxb类。 我想在A类的列表中读取一个类的属性,并作为A类本身的值输出。 这是XML: 我必须阅读: 并生产: 这是我的错误类-工作正常: 我的设备类别: Jaxb 抱怨我不能在同一类中同时拥有 xml 元素(错误 )和 xml 值 如何正确建模/注释此内容,以允许我读取 error xml 标记的属性并将其生成为设备标记的值?
问题内容: 我必须设计一个数据模型(在Java EE 6应用程序中),该数据模型将通过JPA持久化,并且还需要通过JAXB进行序列化。上一次,我有一组带有JAXB批注的实体类,另一组带有JPA批注的实体类。这意味着我必须有很多样板代码才能在两者之间进行翻译。我正在考虑将它们组合在一起,以便每个类都具有两种类型的注释。我知道 可以 做到,但是我的问题是, 应该 吗?会引起什么问题吗? 问题答案: 这
练习题问题: 下面是命令设计模式在游戏中的一个可能的实现,例如Pacman。在这个特定版本的PacMan游戏中,用户可以发出命令,在四个方向(右、左、上、下)中的任何一个方向移动PacMan。还有一个单独的命令用于攻击碰巧在同一位置的其他演员,比如幽灵。所有命令的接收器是PACMAN(未示出)。 现在要求您实现一个允许用户定义宏的新需求,即可以作为一个命令执行的命令组合。以下是这类宏命令的三个示例
复合实体模式用于EJB持久性机制。 Composite实体是EJB实体bean,表示对象图。 更新复合实体时,内部相关对象bean会自动更新为EJB实体bean管理。 以下是Composite Entity Bean的参与者。 Composite Entity - 它是主要的实体bean。 它可以是粗粒度的,也可以包含粗粒度的对象以用于持久性目的。 Coarse-Grained Object -