有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

基类中的java jaxb xjc falg可从内部类访问

也许我没有用正确的词搜索这个话题,但我找不到答案

介绍

我有一个包含一些复杂类型的xsd文件。我需要做一些“昂贵的”xslt转换,在封送之前返回一个字符串。但仅当自上次封送以来发生了更改时才执行此操作,否则使用之前的转换输出。我在其他地方也需要这个字符串值,而不仅仅是在执行封送处理时

(顺便说一下,xsd文件几乎每一两年都会更改一次)

问题

为了防止在没有任何更改的情况下发生转换,我需要在字段更改时使用某种“true”标志。我认为该标志的最佳位置是基提取类,因此它的每个实例都会保持更新。当我需要从包含的类中更改标志时,问题就出现了,因为它没有基类的引用

我记得几年前在jaxb邮件列表中问过类似的问题。我不记得确切的答案是什么,但我最终使基类成为一个单例,并使用绑定文件在其中添加了一些静态字段。使用AOP,每次调用setter(简称)时,我都会更改一个添加的字段

现在,我需要这门课不要成为单身汉。我需要有多个实例,因为同一个类的使用方式与以前不同,我不想实现“忙标志”并造成瓶颈

因为xsd文件是由第三方指定的,并且经常更改,所以我不想手动进行很多固定的转换,因为维护起来既困难又昂贵

想法:

如果XJC创建的内部类不是静态的,我可以做类似Parent.this.setFlag()

如果我执行类似于^{}的操作,所包含的complexType属性不再是静态的,但是因为每个complexType都是在自己的文件中生成的,所以它们也找不到基类。complexType类没有对容器类的引用

曾想过在某个地方有一个映射,其中引用了每个complexTyple类实例,但无法想象如果不手动完成,如何实现它。。。那么XJC有什么用呢

怎么做

  1. 找到一种方法使内部类不是静态的

我认为这将是最好的解决方案,因为它更容易实施

  1. 找到一种方法,在每个内部类上添加对基类的引用

这很难实现,因为我需要为每个内部类定义一个带有修改的绑定文件,并且我可能需要(以某种方式)更改ObjectFactore,使每个构造函数都有一个带有基类实例的参数

  1. ?

救命

有什么想法和/或建议吗


共 (0) 个答案