/** * Return whether type is a complex type. * * @return true if type is a complex type. */ public boolean isComplex() { return isPrimitive() == false; }
/** * Returns the union member class name for the given {@link ClassTemplateSpec} as a Typescript * source code string. * * @return a typescript source code string identifying the union member. */ public String unionMemberTypeName() { DataSchema memberSchema = _memberSchema(); Type memberType = _memberSchema().getType(); if (memberSchema.isPrimitive() || memberType == Type.MAP || memberType == Type.ARRAY) { String unionMemberKey = _memberSchema().getUnionMemberKey(); String camelCasedName = Character.toUpperCase(unionMemberKey.charAt(0)) + unionMemberKey.substring(1); return camelCasedName + "Member"; // IntMember, DoubleMember, FixedMember etc } else if (memberSchema instanceof NamedDataSchema) { String className = ((NamedDataSchema) memberSchema).getName(); return className + "Member"; // e.g: FortuneCookieMember } else { throw new IllegalArgumentException("Don't know how to handle schema of type " + memberSchema.getType()); } }
protected void encode(DataSchema schema, boolean originallyInlined) throws IOException { TypeRepresentation representation = selectTypeRepresentation(schema, originallyInlined); markEncountered(schema); if (schema.isPrimitive()) { _builder.writeString(schema.getUnionMemberKey()); } else if (schema instanceof NamedDataSchema) { encodeNamed((NamedDataSchema) schema, representation); } else { encodeUnnamed(schema); } }
break; default: assert(schema.isPrimitive()); break;
if (!dereferencedDataSchema.isPrimitive())
return expr.mapValues(writeTypeExpr(coercer.coercerOutput($0), valueSpec)); } else { if (valueSpec.getSchema().isPrimitive()) { return expr; } else { return expr.map(writeTypeExpr(coercer.coercerOutput($0), itemSpec)); } else { if (itemSpec.getSchema().isPrimitive()) { return expr; } else {
boolean isDirectType = schema.isPrimitive() || schema.getType() == DataSchema.Type.FIXED;