package org.jvnet.jaxb2_commons.xml.bind.model.concrete;
import javax.xml.namespace.QName;
import org.jvnet.jaxb2_commons.lang.Validate;
import org.jvnet.jaxb2_commons.xml.bind.model.MAttributePropertyInfo;
import org.jvnet.jaxb2_commons.xml.bind.model.MClassInfo;
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 CMAttributePropertyInfo<T, C> extends
CMSingleTypePropertyInfo<T, C> implements MAttributePropertyInfo<T, C> {
private final QName attributeName;
public CMAttributePropertyInfo(MPropertyInfoOrigin origin,
MClassInfo<T, C> classInfo, String privateName,
MTypeInfo<T, C> typeInfo, QName attributeName) {
super(origin, classInfo, privateName, false, typeInfo);
Validate.notNull(attributeName);
this.attributeName = attributeName;
}
public QName getAttributeName() {
return attributeName;
}
public <V> V acceptPropertyInfoVisitor(MPropertyInfoVisitor<T, C, V> visitor) {
return visitor.visitAttributePropertyInfo(this);
}
}