/** * Creates a flat data set that contains basic data units. This is the normal case. */ public static <T> DataSetType<T> createDefault(BasicDataUnitType<T> dataUnitType) { return new DataSetType<>(dataUnitType); }
/** * Creates a new data set type that contains groups of data units. */ public static <T> DataSetType<Iterable<T>> createGrouped(BasicDataUnitType<T> inputType) { return new DataSetType<>(new DataUnitGroupType<>(inputType)); }
/** * 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()); }
/** * 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))); }
/** * 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))); }
/** * 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))); }