in build-tools/scraper.js [103:162]
function generateJavaTypeEquivalent(currentType, prop) {
if (prop.hasOwnProperty('type')) {
// if it's a primitive type, then just map to the java equivalent
var type = primitiveObjectTypes.hasOwnProperty(prop.type) ? primitiveObjectTypes[prop.type] : prop.type;
// if the property is optional, it is nullable
if (prop.optional && primitiveOptionalObjectTypes.hasOwnProperty(prop.type)) {
type = primitiveOptionalObjectTypes[prop.type];
}
if (prop.type == 'array') {
if (prop.items.hasOwnProperty('$ref')) {
if (currentType != prop.items.$ref) {
addDependencyIfNotGenerated(prop.items.$ref);
}
type = 'List<' + prop.items.$ref + '>';
} else {
type = getAnonymousTypeName();
var typeDef = {
id: type,
type: prop.items.type,
properties: prop.items.properties
};
type = 'List<' + type + '>';
anonymousTypesToGenerate.push(typeDef);
}
}
return type;
} else {
var typeDefinition = findTypeDefinition(resolveName(prop.$ref));
if (!isPrimitiveOrArray(typeDefinition.type)) {
if (typeDefinition.type != currentType) {
addDependencyIfNotGenerated(prop.$ref);
}
return prop.$ref;
} else {
var type = typeDefinition.type;
var resolvedType = primitiveObjectTypes[type] || type;
if (prop.optional) {
if (primitiveOptionalObjectTypes.hasOwnProperty(type)) {
resolvedType = primitiveOptionalObjectTypes[type];
}
}
if (type == 'array') {
addDependencyIfNotGenerated(typeDefinition.items.$ref);
return 'List<' + typeDefinition.items.$ref + '>';
}
return resolvedType;
}
}
}