//-- check Group type
if (complexType.getParticleCount() == 1) {
Particle particle = complexType.getParticle(0);
if (particle.getStructureType() == Structure.GROUP) {
Group group = (Group) particle;
if (group.getOrder() == Order.choice) {
classInfo.getGroupInfo().setAsChoice();
}
}
}
Annotated saved = component.getAnnotated();
processComplexType(complexType, state);
component.setView(saved);
saved = null;
}
}
//--5b the type is a simpleType
else if (type.isSimpleType()) {
SimpleType simpleType = (SimpleType)type;
//-- handle our special case for enumerated types
if (simpleType.hasFacet(Facet.ENUMERATION)) {
//-- Don't create source code for simple types that
//-- don't belong in the elements target namespace
String tns = simpleType.getSchema().getTargetNamespace();
boolean create = false;
if (tns == null)
create = (component.getTargetNamespace() == null);
else
create = tns.equals(component.getTargetNamespace());
if (create) {
ClassInfo tmpInfo = sgState.resolve(simpleType);
JClass tmpClass = null;
if (tmpInfo != null) {
tmpClass = tmpInfo.getJClass();
}
else {
tmpClass = createSourceCode(simpleType, sgState);
}
classInfo.setSchemaType(new XSClass(tmpClass));
}
} else {
//////////////////////////////////////////////////////////
//NOTE: generate sources if the flag for generating sources
//from imported schemas is on
//////////////////////////////////////////////////////////
return new JClass[0];
}
}
//--5c the type is an anyType
else if (type.isAnyType()) {
//-- Do not create classes for AnyType
classInfo.setSchemaType(new XSClass(SGTypes.Object));
return new JClass[0];
}
}
//--no type we must be facing an XML schema group
else {
//--MODEL GROUP OR GROUP
try{
Group group = (Group)component.getAnnotated();
createForSingleGroup = (group.getMaxOccurs() == 1);
processContentModel(group, state);
component.setView(group);
//-- Check Group Type
Order order = group.getOrder();
if (order == Order.choice)
classInfo.getGroupInfo().setAsChoice();
else if (order == Order.seq)
classInfo.getGroupInfo().setAsSequence();
else