@Override public Type getDereferencedType() { return _referencedType.getDereferencedType(); }
@SuppressWarnings("rawtypes") public Class<? extends DataTemplate> resolveTemplateClass(DataSchema schema) { switch(schema.getDereferencedType()) { case FIXED: return FixedTemplatePlaceholder.class; case ARRAY: return ArrayTemplatePlaceholder.class; case RECORD: return RecordTemplatePlaceholder.class; case MAP: return MapTemplatePlaceholder.class; case UNION: return UnionTemplatePlaceholder.class; case TYPEREF: throw new IllegalStateException("TYPEREF should not be returned for a dereferenced byte. schema: " + schema); default: throw new IllegalStateException("Unrecognized enum value: " + schema.getDereferencedType()); } }
/** * Returns the java class representing the de-referenced type of the input schema. */ public static Class<?> getDataClassFromSchema(DataSchema schema) { if (schema == null) { return null; } return dataSchemaTypeToPrimitiveDataSchemaClass(schema.getDereferencedType()); }
try switch (schema.getDereferencedType()) return templateClass.getConstructor(Object.class); default: throw new TemplateOutputCastException("Could not get constructor for schema: " + schema.getDereferencedType().name() + " does not match any DataTemplate classes");
if (memberType.getDereferencedType() != Type.NULL) if (memberType.getDereferencedType() == Type.UNION)
else if (includedSchema.getDereferencedType() != DataSchema.Type.RECORD)
/** * * @param value the stringified value * @param schema the schema of the type * @param type a non-complex type to convert to * @return the converted value */ public static Object convertSimpleValue(final String value, final DataSchema schema, final Class<?> type) { DataSchema.Type dereferencedType = schema.getDereferencedType(); Object underlyingValue; if (schema.getDereferencedDataSchema().isComplex()) { underlyingValue = value; } else { underlyingValue = ValueConverter.coerceString(value, DataSchemaUtil.dataSchemaTypeToPrimitiveDataSchemaClass(dereferencedType)); } return DataTemplateUtil.coerceOutput(underlyingValue, type); }
boolean isUnion = fieldSchema.getDereferencedType() == DataSchema.Type.UNION; field.setOptional(false); if (isUnion) {
DataSchema fieldSchema = field.getType(); UnionDataSchema unionDataSchema = (fieldSchema.getDereferencedType() == DataSchema.Type.UNION ? (UnionDataSchema) fieldSchema.getDereferencedDataSchema() : null); emittedNull |= (defaultValueSchema.getDereferencedType() == DataSchema.Type.NULL); encode(defaultValueSchema); if (type.getDereferencedType() == DataSchema.Type.NULL)
itemSchema.getDereferencedType());
private UnionTemplateSpec generateUnion(UnionDataSchema schema, UnionTemplateSpec unionClass) { for (DataSchema memberType : schema.getTypes()) { final UnionTemplateSpec.Member newMember = new UnionTemplateSpec.Member(); unionClass.getMembers().add(newMember); newMember.setSchema(memberType); if (memberType.getDereferencedType() != DataSchema.Type.NULL) { newMember.setClassTemplateSpec(processSchema(memberType, unionClass, memberType.getUnionMemberKey())); newMember.setDataClass(determineDataClass(memberType, unionClass, memberType.getUnionMemberKey())); } } return unionClass; }
DataSchema fieldDataSchema = field.getType(); Schema fieldAvroSchema = avroSchema.getField(fieldName).schema(); if (isOptional && (fieldDataSchema.getDereferencedType() != DataSchema.Type.UNION))
if (isOptional) if (fieldDataSchema.getDereferencedType() != DataSchema.Type.UNION)
if (!DataSchema.Type.NULL.equals(member.getType().getDereferencedType()))
if (isOptional) if (fieldDataSchema.getDereferencedType() != DataSchema.Type.UNION)
Class<?> targetClass = DataSchemaUtil.dataSchemaTypeToPrimitiveDataSchemaClass(parameterSchema.getItems().getDereferencedType());
Class<?> targetClass = DataSchemaUtil.dataSchemaTypeToPrimitiveDataSchemaClass(param.getDataSchema().getDereferencedType());