public PredicateDescriptor(SerializablePredicate<Input> javaImplementation, Class<Input> inputTypeClass, ProbabilisticDoubleInterval selectivity, LoadProfileEstimator loadProfileEstimator) { this(javaImplementation, BasicDataUnitType.createBasic(inputTypeClass), selectivity, loadProfileEstimator); }
/** * Creates a flat data set that contains basic data units. This is the normal case. */ public static <T> DataSetType<T> createDefaultUnchecked(Class<?> dataUnitClass) { return new DataSetType<>(new BasicDataUnitType<>(dataUnitClass).unchecked()); }
@SuppressWarnings("unchecked") public static <T> BasicDataUnitType<T> createBasicUnchecked(Class<?> cls) { return new BasicDataUnitType<>((Class<T>) cls); }
@Override public int hashCode() { return Objects.hash(super.hashCode(), fieldNames); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; if (!super.equals(o)) return false; RecordType that = (RecordType) o; return Arrays.equals(fieldNames, that.fieldNames); }
/** * Checks whether the given instance is the same as this instance or more specific. * * @param that the other instance * @return whether this instance is a super type of {@code that} instance */ public boolean isSupertypeOf(BasicDataUnitType<?> that) { return this.getTypeClass().isAssignableFrom(that.getTypeClass()); }
/** * Checks whether this instance is more general that the given one, i.e., it is a valid type of datasets that are * also valid under the given type. * * @param that the other instance * @return whether this instance is a super type of {@code that} instance */ public boolean isSupertypeOf(DataSetType that) { return this.dataUnitType.toBasicDataUnitType().isSupertypeOf(that.dataUnitType.toBasicDataUnitType()); }
/** * Creates a flat data set that contains basic data units. This is the normal case. */ public static <T> DataSetType<T> createDefault(Class<? extends T> dataUnitClass) { return new DataSetType<>(new BasicDataUnitType<>(ReflectionUtils.generalize(dataUnitClass))); }
public TransformationDescriptor(FunctionDescriptor.SerializableFunction<Input, Output> javaImplementation, Class<Input> inputTypeClass, Class<Output> outputTypeClass, LoadProfileEstimator loadProfileEstimator) { this(javaImplementation, BasicDataUnitType.createBasic(inputTypeClass), BasicDataUnitType.createBasic(outputTypeClass), loadProfileEstimator); }
/** * Creates a data set that contains groups of data units. */ public static <T> DataSetType<Iterable<T>> createGroupedUnchecked(Class<?> dataUnitClass) { return new DataSetType<>(new DataUnitGroupType<>(new BasicDataUnitType<>(dataUnitClass))); }
public TransformationDescriptor(FunctionDescriptor.SerializableFunction<Input, Output> javaImplementation, Class<Input> inputTypeClass, Class<Output> outputTypeClass) { this(javaImplementation, BasicDataUnitType.createBasic(inputTypeClass), BasicDataUnitType.createBasic(outputTypeClass)); }
/** * Creates a data set that contains groups of data units. */ public static <T> DataSetType<Iterable<T>> createGrouped(Class<? extends T> dataUnitClass) { return new DataSetType<>(new DataUnitGroupType<>(new BasicDataUnitType<>(dataUnitClass))); }
/** * Creates a new instance. * * @param inputTypeClass input type * @param outputTypeClass output type * @param fieldNames names of the fields to be projected */ public ProjectionDescriptor(Class<Input> inputTypeClass, Class<Output> outputTypeClass, String... fieldNames) { this(BasicDataUnitType.createBasic(inputTypeClass), BasicDataUnitType.createBasic(outputTypeClass), fieldNames); }