Package org.spf4j.avro.schema
Class Schemas
- java.lang.Object
-
- org.spf4j.avro.schema.Schemas
-
@Beta @ParametersAreNonnullByDefault public final class Schemas extends Object
Avro Schema utilities, to traverse...- Author:
- zoly
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.apache.avro.SchemadateString()static voiddeprecations(org.apache.avro.Schema schema, BiConsumer<String,String> toPut)static voiddiff(org.apache.avro.Schema s1, org.apache.avro.Schema s2, Consumer<SchemaDiff> diffs)static org.apache.avro.Schema.FieldgetField(String nameOrAlias, Iterable<org.apache.avro.Schema.Field> fields)static org.apache.avro.SchemagetFromUnion(org.apache.avro.Schema what, org.apache.avro.Schema unionSchema)static org.apache.avro.Schema.FieldgetPos(org.apache.avro.Schema.Field field, org.apache.avro.Schema recordSchema)static org.apache.avro.SchemagetSchemaFromUnionByName(org.apache.avro.Schema unionSchema, String name)static org.apache.avro.SchemagetSubSchema(org.apache.avro.Schema schema, CharSequence path)static ImmutableSchemaimmutable(org.apache.avro.Schema schema)static ImmutableSchemaimmutable(org.apache.avro.Schema schema, boolean withSerializationSignificatAttrsonly)static org.apache.avro.SchemainstantString()static booleanisNamed(String nameOrAlias, org.apache.avro.Schema.Field field)static booleanisNullableUnion(org.apache.avro.Schema schema)static booleanisSameFields(List<org.apache.avro.Schema.Field> f1s, List<org.apache.avro.Schema.Field> f2s)static org.apache.avro.SchemanullableUnionSchema(org.apache.avro.Schema schema)static org.apache.avro.Schemaproject(org.apache.avro.Schema schema, CharSequence... paths)static org.apache.avro.Schemaproject(org.apache.avro.Schema schema, List<? extends CharSequence> paths)create a schema projection(partial schema) from a destination schema.static Objectproject(org.apache.avro.Schema toSchema, org.apache.avro.Schema fromSchema, Object object)Project a avro object to a destination.static org.apache.avro.generic.IndexedRecordproject(org.apache.avro.Schema toSchema, org.apache.avro.Schema fromSchema, org.apache.avro.generic.IndexedRecord object)Project a avro object to a destination.static org.apache.avro.SchemaprojectRecord(org.apache.avro.Schema schema, int[] projection)Obtain a sub-schema of a record schema.static org.apache.avro.SchematemporalString()static <T> Tvisit(org.apache.avro.Schema start, SchemaVisitor<T> visitor)depth first visit.
-
-
-
Method Detail
-
diff
public static void diff(org.apache.avro.Schema s1, org.apache.avro.Schema s2, Consumer<SchemaDiff> diffs)
-
getFromUnion
@Nullable public static org.apache.avro.Schema getFromUnion(org.apache.avro.Schema what, org.apache.avro.Schema unionSchema)
-
deprecations
public static void deprecations(org.apache.avro.Schema schema, BiConsumer<String,String> toPut)
-
immutable
@Nonnull public static ImmutableSchema immutable(org.apache.avro.Schema schema)
-
immutable
@Nonnull public static ImmutableSchema immutable(org.apache.avro.Schema schema, boolean withSerializationSignificatAttrsonly)
-
visit
public static <T> T visit(org.apache.avro.Schema start, SchemaVisitor<T> visitor)depth first visit.- Parameters:
start-visitor-
-
isNullableUnion
public static boolean isNullableUnion(org.apache.avro.Schema schema)
-
nullableUnionSchema
@Nullable public static org.apache.avro.Schema nullableUnionSchema(org.apache.avro.Schema schema)
-
getSchemaFromUnionByName
@Nullable public static org.apache.avro.Schema getSchemaFromUnionByName(org.apache.avro.Schema unionSchema, String name)
-
getSubSchema
@Nullable public static org.apache.avro.Schema getSubSchema(org.apache.avro.Schema schema, CharSequence path)
-
projectRecord
public static org.apache.avro.Schema projectRecord(org.apache.avro.Schema schema, int[] projection)Obtain a sub-schema of a record schema. the sub-schema will contain only the fields referenced by the definition order.- Parameters:
schema- the source schema.projection- the order ids of the fields in the sub-schema.- Returns:
- the sub schema. Will have the same name as the original schema with "_p." prepended to the name space
-
project
@Nullable public static org.apache.avro.Schema project(org.apache.avro.Schema schema, CharSequence... paths)
-
project
@Nullable public static org.apache.avro.Schema project(org.apache.avro.Schema schema, List<? extends CharSequence> paths)
create a schema projection(partial schema) from a destination schema.- Parameters:
schema- the schema to project.paths- the paths to elements (paths to record fields) included in the subschema.- Returns:
- the subschema.
-
isSameFields
public static boolean isSameFields(List<org.apache.avro.Schema.Field> f1s, List<org.apache.avro.Schema.Field> f2s)
-
project
@Nullable public static org.apache.avro.generic.IndexedRecord project(org.apache.avro.Schema toSchema, org.apache.avro.Schema fromSchema, @Nullable org.apache.avro.generic.IndexedRecord object)
Project a avro object to a destination.- Parameters:
toSchema- the object schemafromSchema- the destination schemaobject- the object to project.- Returns:
- the projected object.
-
project
@Nullable public static Object project(org.apache.avro.Schema toSchema, org.apache.avro.Schema fromSchema, @Nullable Object object)
Project a avro object to a destination.- Parameters:
toSchema- the object schemafromSchema- the destination schemaobject- the object to project.- Returns:
- the projected object.
-
getPos
@Nullable public static org.apache.avro.Schema.Field getPos(org.apache.avro.Schema.Field field, org.apache.avro.Schema recordSchema)
-
getField
@Nullable public static org.apache.avro.Schema.Field getField(String nameOrAlias, Iterable<org.apache.avro.Schema.Field> fields)
-
isNamed
public static boolean isNamed(String nameOrAlias, org.apache.avro.Schema.Field field)
-
dateString
public static org.apache.avro.Schema dateString()
-
instantString
public static org.apache.avro.Schema instantString()
-
temporalString
public static org.apache.avro.Schema temporalString()
-
-