Package org.apache.iceberg.transforms
Class Days<T>
- java.lang.Object
-
- org.apache.iceberg.transforms.Days<T>
-
- All Implemented Interfaces:
java.io.Serializable
,Transform<T,java.lang.Integer>
public class Days<T> extends java.lang.Object
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Days()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SerializableFunction<S,java.lang.Integer>
bind(Type type)
Returns a function that applies this transform to values of the giventype
.boolean
canTransform(Type type)
Checks whether this function can be applied to the givenType
.java.lang.String
dedupName()
Return the unique transform name to check if similar transforms for the same source field are added multiple times in partition spec builder.Type
getResultType(Type sourceType)
Returns theType
produced by this transform given a source type.boolean
preservesOrder()
Whether the transform preserves the order of values (is monotonic).UnboundPredicate<java.lang.Integer>
project(java.lang.String name, BoundPredicate<S> predicate)
Transforms apredicate
to an inclusive predicate on the partition values produced by the transform.UnboundPredicate<java.lang.Integer>
projectStrict(java.lang.String name, BoundPredicate<S> predicate)
Transforms apredicate
to a strict predicate on the partition values produced by the transform.boolean
satisfiesOrderOf(Transform<?,?> other)
Whether ordering by this transform's result satisfies the ordering of another transform's result.protected Transform<T,java.lang.Integer>
toEnum(Type type)
java.lang.String
toHumanString(Type alwaysDate, java.lang.Integer value)
java.lang.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.iceberg.transforms.Transform
apply, isIdentity, isVoid, toHumanString
-
-
-
-
Method Detail
-
getResultType
public Type getResultType(Type sourceType)
Description copied from interface:Transform
Returns theType
produced by this transform given a source type.- Parameters:
sourceType
- a type- Returns:
- the result type created by the apply method for the given type
-
satisfiesOrderOf
public boolean satisfiesOrderOf(Transform<?,?> other)
Description copied from interface:Transform
Whether ordering by this transform's result satisfies the ordering of another transform's result.For example, sorting by day(ts) will produce an ordering that is also by month(ts) or year(ts). However, sorting by day(ts) will not satisfy the order of hour(ts) or identity(ts).
- Returns:
- true if ordering by this transform is equivalent to ordering by the other transform
-
toHumanString
public java.lang.String toHumanString(Type alwaysDate, java.lang.Integer value)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
bind
public SerializableFunction<S,java.lang.Integer> bind(Type type)
Description copied from interface:Transform
Returns a function that applies this transform to values of the giventype
.
-
preservesOrder
public boolean preservesOrder()
Description copied from interface:Transform
Whether the transform preserves the order of values (is monotonic).A transform preserves order for values when for any given a and b, if a < b then apply(a) <= apply(b).
- Specified by:
preservesOrder
in interfaceTransform<S,java.lang.Integer>
- Returns:
- true if the transform preserves the order of values
-
canTransform
public boolean canTransform(Type type)
Description copied from interface:Transform
Checks whether this function can be applied to the givenType
.- Specified by:
canTransform
in interfaceTransform<S,java.lang.Integer>
- Parameters:
type
- a type- Returns:
- true if this transform can be applied to the type, false otherwise
-
project
public UnboundPredicate<java.lang.Integer> project(java.lang.String name, BoundPredicate<S> predicate)
Description copied from interface:Transform
Transforms apredicate
to an inclusive predicate on the partition values produced by the transform.This inclusive transform guarantees that if pred(v) is true, then projected(apply(v)) is true.
-
projectStrict
public UnboundPredicate<java.lang.Integer> projectStrict(java.lang.String name, BoundPredicate<S> predicate)
Description copied from interface:Transform
Transforms apredicate
to a strict predicate on the partition values produced by the transform.This strict transform guarantees that if strict(apply(v)) is true, then pred(v) is also true.
- Specified by:
projectStrict
in interfaceTransform<S,java.lang.Integer>
- Parameters:
name
- the field name for partition valuespredicate
- a predicate for source values- Returns:
- an inclusive predicate on partition values
-
dedupName
public java.lang.String dedupName()
Description copied from interface:Transform
Return the unique transform name to check if similar transforms for the same source field are added multiple times in partition spec builder.
-
-