package org.jvnet.jaxb2_commons.xml.bind.model.concrete; import javax.xml.namespace.QName; import org.jvnet.jaxb2_commons.xml.bind.model.MClassInfo; import org.jvnet.jaxb2_commons.xml.bind.model.MElementPropertyInfo; import org.jvnet.jaxb2_commons.xml.bind.model.MPropertyInfoVisitor; import org.jvnet.jaxb2_commons.xml.bind.model.MTypeInfo; import org.jvnet.jaxb2_commons.xml.bind.model.origin.MPropertyInfoOrigin; public class CMElementPropertyInfo<T, C> extends CMPropertyInfo<T, C> implements MElementPropertyInfo<T, C> { private final MTypeInfo<T, C> typeInfo; private final QName elementName; private final QName wrapperElementName; public CMElementPropertyInfo(MPropertyInfoOrigin origin, MClassInfo<T, C> classInfo, String privateName, boolean collection, MTypeInfo<T, C> typeInfo, QName elementName, QName wrapperElementName) { super(origin, classInfo, privateName, collection); this.typeInfo = typeInfo; this.elementName = elementName; this.wrapperElementName = wrapperElementName; } public MTypeInfo<T, C> getTypeInfo() { return typeInfo; } public QName getElementName() { return elementName; } public QName getWrapperElementName() { return wrapperElementName; } public <V> V acceptPropertyInfoVisitor(MPropertyInfoVisitor<T, C, V> visitor) { return visitor.visitElementPropertyInfo(this); } }