Class Types.Builder<THIS extends Types.Builder,P>
- java.lang.Object
-
- org.apache.parquet.schema.Types.Builder<THIS,P>
-
- Type Parameters:
P- The type that this builder will return fromnamed(String)when the type is built.
- Direct Known Subclasses:
Types.BaseGroupBuilder,Types.BaseListBuilder,Types.BaseMapBuilder,Types.BasePrimitiveBuilder
- Enclosing class:
- Types
public abstract static class Types.Builder<THIS extends Types.Builder,P> extends Object
A base builder forTypeobjects.
-
-
Field Summary
Fields Modifier and Type Field Description protected Type.IDidprotected LogicalTypeAnnotationlogicalTypeAnnotationprotected booleannewLogicalTypeSetprotected Pparentprotected Type.Repetitionrepetitionprotected Class<? extends P>returnClass
-
Constructor Summary
Constructors Modifier Constructor Description protectedBuilder(Class<P> returnClass)Construct a type builder that returns theTypethat was built when the builder is finished.protectedBuilder(P parent)Construct a type builder that returns a "parent" object when the builder is finished.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description THISas(LogicalTypeAnnotation type)Adds a type annotation (LogicalTypeAnnotation) to the type being built.THISas(OriginalType type)Deprecated.useas(LogicalTypeAnnotation)with the corresponding logical type insteadprotected abstract Typebuild(String name)protected OriginalTypegetOriginalType()THISid(int id)adds an id annotation to the type being built.Pnamed(String name)Builds aTypeand returns the parent builder, if given, or theTypethat was built.protected THISrepetition(Type.Repetition repetition)protected abstract THISself()
-
-
-
Field Detail
-
parent
protected final P parent
-
repetition
protected Type.Repetition repetition
-
logicalTypeAnnotation
protected LogicalTypeAnnotation logicalTypeAnnotation
-
id
protected Type.ID id
-
newLogicalTypeSet
protected boolean newLogicalTypeSet
-
-
Constructor Detail
-
Builder
protected Builder(P parent)
Construct a type builder that returns a "parent" object when the builder is finished. Theparentwill be returned bynamed(String)so that builders can be chained.- Parameters:
parent- a non-null object to return fromnamed(String)
-
Builder
protected Builder(Class<P> returnClass)
Construct a type builder that returns theTypethat was built when the builder is finished. ThereturnClassmust be the expectedTypeclass.- Parameters:
returnClass- aTypeto return fromnamed(String)
-
-
Method Detail
-
self
protected abstract THIS self()
-
repetition
protected final THIS repetition(Type.Repetition repetition)
-
as
@Deprecated public THIS as(OriginalType type)
Deprecated.useas(LogicalTypeAnnotation)with the corresponding logical type insteadAdds a type annotation (OriginalType) to the type being built.Type annotations are used to extend the types that parquet can store, by specifying how the primitive types should be interpreted. This keeps the set of primitive types to a minimum and reuses parquet's efficient encodings. For example, strings are stored as byte arrays (binary) with a UTF8 annotation.
- Parameters:
type- anOriginalType- Returns:
- this builder for method chaining
-
as
public THIS as(LogicalTypeAnnotation type)
Adds a type annotation (LogicalTypeAnnotation) to the type being built.Type annotations are used to extend the types that parquet can store, by specifying how the primitive types should be interpreted. This keeps the set of primitive types to a minimum and reuses parquet's efficient encodings. For example, strings are stored as byte arrays (binary) with a UTF8 annotation.
- Parameters:
type- an{@link LogicalTypeAnnotation}- Returns:
- this builder for method chaining
-
id
public THIS id(int id)
adds an id annotation to the type being built.ids are used to capture the original id when converting from models using ids (thrift, protobufs)
- Parameters:
id- the id of the field- Returns:
- this builder for method chaining
-
named
public P named(String name)
Builds aTypeand returns the parent builder, if given, or theTypethat was built. If returning a parent object that is a GroupBuilder, the constructed type will be added to it as a field.Note: Any configuration for this type builder should be done before calling this method.
- Parameters:
name- a name for the constructed type- Returns:
- the parent
GroupBuilderor the constructedType
-
getOriginalType
protected OriginalType getOriginalType()
-
-