@Experimental(value=SCHEMAS) public abstract class PassThroughLogicalType<T> extends java.lang.Object implements Schema.LogicalType<T,T>
| Modifier | Constructor and Description |
|---|---|
protected |
PassThroughLogicalType(java.lang.String identifier,
Schema.FieldType argumentType,
java.lang.Object argument,
Schema.FieldType fieldType) |
| Modifier and Type | Method and Description |
|---|---|
<ArgumentT> |
getArgument()
An optional argument to configure the type.
|
Schema.FieldType |
getArgumentType()
A schema type representing how to interpret the argument.
|
Schema.FieldType |
getBaseType()
The base
Schema.FieldType used to store values of this type. |
java.lang.String |
getIdentifier()
The unique identifier for this type.
|
T |
toBaseType(T input)
Convert the input type to the type Java type used by the base
Schema.FieldType. |
T |
toInputType(T base)
Convert the Java type used by the base
Schema.FieldType to the input type. |
protected PassThroughLogicalType(java.lang.String identifier,
Schema.FieldType argumentType,
java.lang.Object argument,
Schema.FieldType fieldType)
public java.lang.String getIdentifier()
Schema.LogicalTypegetIdentifier in interface Schema.LogicalType<T,T>public Schema.FieldType getArgumentType()
Schema.LogicalTypenull indicates this logical
type is not parameterized by an argument.getArgumentType in interface Schema.LogicalType<T,T>public <ArgumentT> ArgumentT getArgument()
Schema.LogicalTypegetArgument in interface Schema.LogicalType<T,T>public Schema.FieldType getBaseType()
Schema.LogicalTypeSchema.FieldType used to store values of this type.getBaseType in interface Schema.LogicalType<T,T>public T toBaseType(T input)
Schema.LogicalTypeSchema.FieldType.toBaseType in interface Schema.LogicalType<T,T>public T toInputType(T base)
Schema.LogicalTypeSchema.FieldType to the input type.toInputType in interface Schema.LogicalType<T,T>