private static DataSchema dereferenceIfTyperef(DataSchema schema) { final DataSchema.Type type = schema.getType(); return type == DataSchema.Type.TYPEREF ? ((TyperefDataSchema) schema).getRef() : null; }
private static DataSchema dereferenceIfTyperef(DataSchema schema) { final DataSchema.Type type = schema.getType(); return type == DataSchema.Type.TYPEREF ? ((TyperefDataSchema) schema).getRef() : null; }
private ClassTemplateSpec _refType() { return ClassTemplateSpec.createFromDataSchema(_dataSchema.getRef()); } }
protected Object validateTyperef(DataElement element, TyperefDataSchema schema, Object object) { return validate(element, schema.getRef(), object); }
private final void validateSchema(ValidatorContext context, DataSchema schema) { if (schema.getType() == DataSchema.Type.TYPEREF) { DataSchema refSchema = ((TyperefDataSchema) schema).getRef(); validateSchema(context, refSchema); getAndInvokeValidatorList(context, schema); } else { getAndInvokeValidatorList(context, schema); } }
traverseChild(DataSchemaConstants.REF_KEY, typerefDataSchema.getRef()); break; case MAP:
private void writeTyperef(TyperefDataSchema schema) throws IOException { writeDoc(schema.getDoc()); writeProperties(schema.getProperties()); write("typeref "); write(toTypeIdentifier(schema)); write(" = "); DataSchema ref = schema.getRef(); writeReferenceOrInline(ref, schema.isRefDeclaredInline()); }
binding.valueClass = getJavaBindingType(typerefDataSchema.getRef(), enclosingClass).valueClass;
_path.addLast(DataSchemaConstants.REF_KEY); pathCount++; newer = typerefDataSchema.getRef();
private ClassTemplateSpec generateUnion(UnionDataSchema schema, TyperefDataSchema typerefDataSchema) { assert typerefDataSchema.getRef() == schema; pushCurrentLocation(_schemaResolver.nameToDataSchemaLocations().get(typerefDataSchema.getFullName())); final UnionTemplateSpec unionClass = new UnionTemplateSpec(schema); unionClass.setNamespace(typerefDataSchema.getNamespace()); unionClass.setClassName(typerefDataSchema.getName()); unionClass.setModifiers(ModifierSpec.PUBLIC); registerClassTemplateSpec(typerefDataSchema, unionClass); final TyperefTemplateSpec typerefInfoClass = new TyperefTemplateSpec(typerefDataSchema); typerefInfoClass.setEnclosingClass(unionClass); typerefInfoClass.setClassName("UnionTyperefInfo"); typerefInfoClass.setModifiers(ModifierSpec.PRIVATE, ModifierSpec.STATIC, ModifierSpec.FINAL); final UnionTemplateSpec result = generateUnion(schema, unionClass); result.setTyperefClass(typerefInfoClass); popCurrentLocation(); return result; }
_builder.writeFieldName(REF_KEY); TyperefDataSchema typerefDataSchema = (TyperefDataSchema) schema; encode(typerefDataSchema.getRef(), typerefDataSchema.isRefDeclaredInline()); break; case ENUM:
computeImports(typerefSchema.getRef(), typerefSchema.isRefDeclaredInline(), importsAcc);