public void visitClassType(ClassType classType) {
if (classType instanceof AdapterType) {
((AdapterType) classType).getAdaptingType().accept(this);
}
else if (MapTypeUtil.findMapType(classType) == null) {
DecoratedClassType decorated = (DecoratedClassType) TypeMirrorDecorator.decorate(classType);
String qualifiedName = decorated.getDeclaration().getQualifiedName();
if (decorated.getDeclaration() != null && Object.class.getName().equals(qualifiedName)) {
//skip base object; not a type definition.
return;
}
if (referenceStack.contains(qualifiedName)) {
//we're already visiting this class...
return;
}
referenceStack.addFirst(qualifiedName);
try {
if (!decorated.isCollection() && !decorated.isInstanceOf(JAXBElement.class.getName())) {
ClassDeclaration declaration = classType.getDeclaration();
if (declaration != null) {
add(createTypeDefinition(declaration));
}
}