package org.jvnet.jaxb2_commons.xml.bind.model; import java.util.List; import javax.xml.namespace.QName; import org.jvnet.jaxb2_commons.xml.bind.model.origin.MClassInfoOrigin; import org.jvnet.jaxb2_commons.xml.bind.model.origin.MOriginated; public interface MClassInfo<T, C> extends MClassTypeInfo<T, C>, MOriginated<MClassInfoOrigin> { public MClassTypeInfo<T, C> getBaseTypeInfo(); public List<MPropertyInfo<T, C>> getProperties(); public QName getElementName(); public MElementInfo<T, C> createElementInfo(MTypeInfo<T, C> scope, QName substitutionHead); public void addProperty(MPropertyInfo<T, C> propertyInfo); public void removeProperty(MPropertyInfo<T, C> propertyInfo); }