@Override public boolean canTransform(Type type) { return type.typeId() == TypeID.UUID; } }
@Override public boolean canTransform(Type type) { return type.typeId() == TypeID.FLOAT; } }
@Override @SuppressWarnings("unchecked") public <T> Literal<T> to(Type type) { if (type.typeId() == Type.TypeID.BOOLEAN) { return (Literal<T>) this; } return null; } }
@Override @SuppressWarnings("unchecked") public <T> Literal<T> to(Type type) { if (type.typeId() == Type.TypeID.TIME) { return (Literal<T>) this ; } return null; } }
@Override @SuppressWarnings("unchecked") public <T> Literal<T> to(Type type) { if (type.typeId() == Type.TypeID.UUID) { return (Literal<T>) this; } return null; } }
@Override public boolean canTransform(Type type) { return type.typeId() == TypeID.STRING; } }
@Override @SuppressWarnings("unchecked") public <T> Literal<T> to(Type type) { if (type.typeId() == Type.TypeID.DATE) { return (Literal<T>) this; } return null; } }
@Override public boolean canTransform(Type type) { return type.typeId() == TypeID.DOUBLE; } }
@Override public boolean canTransform(Type type) { return type.typeId() == TypeID.DECIMAL; } }
@Override public boolean canTransform(Type type) { return type.typeId() == Type.TypeID.TIMESTAMP; }
@Override public boolean canTransform(Type type) { return type.typeId() == Type.TypeID.DATE; }
@Override public boolean canTransform(Type type) { return type.typeId() == Type.TypeID.DECIMAL; }
@Override public boolean canTransform(Type type) { return type.typeId() == Type.TypeID.LONG; }
@Override public boolean canTransform(Type type) { return SUPPORTED_TYPES.contains(type.typeId()); } }
@Override public boolean canTransform(Type type) { return SUPPORTED_TYPES.contains(type.typeId()); } }
/** * Returns a hour {@link Transform} for timestamps. * * @param type the {@link Type source type} for the transform * @param <T> Java type passed to this transform * @return a hour transform */ @SuppressWarnings("unchecked") public static <T> Transform<T, Integer> hour(Type type) { Preconditions.checkArgument(type.typeId() == Type.TypeID.TIMESTAMP, "Cannot partition type %s by hour", type); return (Transform<T, Integer>) Timestamps.HOUR; }
public Class<?>[] javaClasses() { if (javaClasses == null) { this.javaClasses = new Class<?>[fields.length]; for (int i = 0; i < fields.length; i += 1) { PartitionField field = fields[i]; Type sourceType = schema.findType(field.sourceId()); Type result = field.transform().getResultType(sourceType); javaClasses[i] = result.typeId().javaClass(); } } return javaClasses; }
private static Accessor<InternalRow> newAccessor(int p, Type type) { switch (type.typeId()) { case STRING: return new StringAccessor(p, convert(type)); case DECIMAL: return new DecimalAccessor(p, convert(type)); default: return new PositionAccessor(p, convert(type)); } }