src/share/jaxws_classes/com/sun/tools/internal/jxc/ap/SchemaGenerator.java
Print this page
@@ -25,19 +25,18 @@
package com.sun.tools.internal.jxc.ap;
+import com.sun.tools.internal.jxc.api.JXC;
import com.sun.tools.internal.xjc.api.J2SJAXBModel;
import com.sun.tools.internal.xjc.api.Reference;
-import com.sun.tools.internal.xjc.api.XJC;
import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.Processor;
import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
-import javax.annotation.processing.SupportedSourceVersion;
import javax.lang.model.SourceVersion;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
import javax.lang.model.element.TypeElement;
import javax.lang.model.util.ElementFilter;
@@ -64,11 +63,10 @@
* command line tool.
*
* @author Kohsuke Kawaguchi
*/
@SupportedAnnotationTypes("*")
-@SupportedSourceVersion(SourceVersion.RELEASE_6)
public class SchemaGenerator extends AbstractProcessor {
/**
* User-specified schema locations, if any.
*/
@@ -94,11 +92,11 @@
List<Reference> classes = new ArrayList<Reference>();
// simply ignore all the interface definitions,
// so that users won't have to manually exclude interfaces, which is silly.
filterClass(classes, roundEnv.getRootElements());
- J2SJAXBModel model = XJC.createJavaCompiler().bind(classes, Collections.<QName, Reference>emptyMap(), null, processingEnv);
+ J2SJAXBModel model = JXC.createJavaCompiler().bind(classes, Collections.<QName, Reference>emptyMap(), null, processingEnv);
if (model == null)
return false; // error
try {
model.generateSchema(
@@ -141,6 +139,14 @@
classes.add(new Reference((TypeElement) element, processingEnv));
filterClass(classes, ElementFilter.typesIn(element.getEnclosedElements()));
}
}
}
+
+ @Override
+ public SourceVersion getSupportedSourceVersion() {
+ if (SourceVersion.latest().compareTo(SourceVersion.RELEASE_6) > 0)
+ return SourceVersion.valueOf("RELEASE_7");
+ else
+ return SourceVersion.RELEASE_6;
+ }
}