package org.jvnet.jaxb2_commons.xjc.model.concrete.origin; import org.apache.commons.lang3.Validate; import org.jvnet.jaxb2_commons.xjc.generator.MPackageOutlineGenerator; import org.jvnet.jaxb2_commons.xjc.generator.concrete.CMPackageOutlineGenerator; import org.jvnet.jaxb2_commons.xjc.generator.concrete.PackageOutlineGeneratorFactory; import org.jvnet.jaxb2_commons.xml.bind.model.concrete.origin.CMPackageInfoOrigin; import com.sun.codemodel.JPackage; import com.sun.tools.xjc.outline.Outline; public class XJCCMPackageInfoOrigin extends CMPackageInfoOrigin implements PackageInfoOrigin, PackageOutlineGeneratorFactory { private final JPackage source; public XJCCMPackageInfoOrigin(JPackage source) { Validate.notNull(source); this.source = source; } public JPackage getSource() { return source; } public MPackageOutlineGenerator createGenerator(Outline outline) { return new CMPackageOutlineGenerator(outline, getSource()); } }