生成base int的枚举

时间:2017-09-25 15:31:27

标签: xsd jaxb maven-jaxb2-plugin

我尝试使用Maven com.ibm.wsspi.kernel.filemonitor.FileMonitor从简单类型的基座onBaseline(Collection<File> baseline)生成枚举。但是没有产生枚举。

我可以看到生成器正在使用绑定文件,因为如果它找不到映射就会抛出错误。

当我将基数更改为onChange(Collection<File> createdFiles, Collection<File> modifiedFiles, Collection<File> deletedFiles)时,会生成枚举(但我不允许更改基数)。

我是否有错误配置,或者根本不可能?

XSD的摘录:

@Component(immediate="true", property={"monitor.directories=/path/to/myMonitoredDir"})
public class MyFileMonitor implements FileMonitor {
    @Override
    public void onBaseline(Collection<File> baseline) {
        System.out.println("Initial file state:");
        for (File f : baseline) {
            System.out.println(f.getName());
        }
    }

    @Override
    public void onChange(Collection<File> createdFiles, Collection<File> modifiedFiles, Collection<File> deletedFiles) {

        System.out.println("Newly added files:");
        for (File f : createdFiles) {
            System.out.println(f.getName());
        }

        System.out.println("Newly deleted files:");
        for (File f : deletedFiles) {
            System.out.println(f.getName());
        }

        System.out.println("Modified files:");
        for (File f : modifiedFiles) {
            System.out.println(f.getName());
        }
    }
}

bindings-file摘录:

int

1 个答案:

答案 0 :(得分:0)

我终于成功了,生成了枚举。

bindings-file摘录:

<jaxb:bindings schemaLocation="some.xsd">
  <jaxb:bindings node="//xs:simpleType[@name='codeType']">
    <jaxb:typesafeEnumClass>
      <jaxb:typesafeEnumMember value="200" name="OK" />
      <jaxb:typesafeEnumMember value="400" name="BAD_REQUEST" />
    </jaxb:typesafeEnumClass>
  </jaxb:bindings>
</jaxb:bindings>

有关详细信息,请参阅https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Developing_Applications_Using_JAX-WS/files/JAXWSCustomTypeMappingEnum.html