public File generate(File outputdir) {
Class<?> dateType = getDateType();
File xjb = getJAXBCustFile(outputdir);
if (dateType != null) {
VelocityGenerator generator = new VelocityGenerator(false);
generator.setCommonAttributes();
generator.setAttributes("parseMethod", getAdapterMethod(dateType, ".parseDateTime"));
generator.setAttributes("printMethod", getAdapterMethod(dateType, ".printDateTime"));
generator.setAttributes("datetype", dateType.getName());
if (allowImports()) {
if (schemaFiles.size() == 0) {
return null;
}
generator.setAttributes("schemaFiles", schemaFiles);
} else {
generator.setAttributes("wsdlName", wsdlName);
List<String> ns = getSchemaNamespaces();
if (ns.size() == 0) {
return null;
}
generator.setAttributes("targetNamespaces", ns);
}
try {
generator.doWrite(getTemplate(), FileWriterUtil.getWriter(xjb));
} catch (Exception e) {
e.printStackTrace();
}
generator.clearAttributes();
}
return xjb;
}