package org.jvnet.jaxb2_commons.xjc.outline.concrete; import org.apache.commons.lang3.Validate; import org.jvnet.jaxb2_commons.xjc.outline.MElementOutline; import org.jvnet.jaxb2_commons.xjc.outline.MModelOutline; import org.jvnet.jaxb2_commons.xjc.outline.MPackageOutline; import org.jvnet.jaxb2_commons.xml.bind.model.MElementInfo; import com.sun.codemodel.JDefinedClass; import com.sun.tools.xjc.model.nav.NClass; import com.sun.tools.xjc.model.nav.NType; public class CMElementOutline implements MElementOutline { private final MModelOutline parent; private final MPackageOutline packageOutline; private final MElementInfo<NType, NClass> target; private final JDefinedClass code; public CMElementOutline(MModelOutline parent, MPackageOutline packageOutline, MElementInfo<NType, NClass> target, JDefinedClass code) { Validate.notNull(parent); Validate.notNull(packageOutline); Validate.notNull(target); Validate.notNull(code); this.parent = parent; this.packageOutline = packageOutline; this.target = target; this.code = code; } public MModelOutline getParent() { return parent; } public MPackageOutline getPackageOutline() { return packageOutline; } public MElementInfo<NType, NClass> getTarget() { return target; } public JDefinedClass getCode() { return code; } }