@Override public Array<Array<T>> combinations() { return rangeClosed(0, length()).map(this::combinations).flatMap(Function.identity()); }
private Optional<RowMapper<?>> buildMapper(Class<? extends Tuple> tupleClass, Array<Optional<RowMapper<?>>> colMappers) { Array<? extends RowMapper<?>> cms = colMappers.map(Optional::get); return Optional.of((rs, ctx) -> buildTuple(tupleClass, i -> cms.get(i).map(rs, ctx))); }
@Override Array<Tuple3<Type, Integer, Option<String>>> resolveKeyValueColumns(ConfigRegistry config, Array<Tuple2<Type, Integer>> tupleTypes) { return tupleTypes.map(t -> Tuple.of(t._1, t._2, Option.<String>none())); } };
Class<? extends Tuple> tupleClass = (Class<? extends Tuple>) erasedType; Array<Tuple2<Type, Integer>> tupleTypes = Array.of(tupleClass.getTypeParameters()) .map(tp -> resolveType(tp, type)) .zipWithIndex((t, i) -> Tuple.of(t, i + 1)); } else { withConfiguredColumnName = tupleTypes .map(t -> Tuple.of(t._1, t._2, getConfiguredColumnName(t._2, config))); boolean anyColumnSet = withConfiguredColumnName.map(t -> t._3).exists(Option::isDefined); if (anyColumnSet) { Array<Optional<RowMapper<?>>> mappers = withConfiguredColumnName .map(t -> t._3.isDefined() ? getColumnMapperForDefinedColumn(t._1, t._3.get(), config) : getRowMapper(t._1, config)); .map(t -> t._2 + ": " + t._3.getOrNull()); throw new NoSuchMapperException(type + " cannot be mapped. " + "If tuple columns are configured (TupleMappers config class), " } else { Array<Optional<RowMapper<?>>> colMappers = tupleTypes .map(t -> getColumnMapper(t._1, t._2, config)); .map(t -> getRowMapper(t._1, config));
static <T> Array<Array<T>> apply(Array<T> elements, int k) { if (k == 0) { return Array.of(Array.empty()); } else { return elements.zipWithIndex().flatMap( t -> apply(elements.drop(t._2 + 1), (k - 1)).map(c -> c.prepend(t._1)) ); } } }
@Override public Array<Array<T>> permutations() { if (isEmpty()) { return empty(); } else if (delegate.length == 1) { return of(this); } else { final Array<Array<T>> zero = empty(); return distinct().foldLeft(zero, (xs, x) -> { final Function<Array<T>, Array<T>> prepend = l -> l.prepend(x); return xs.appendAll(remove(x).permutations().map(prepend)); }); } }
@Override public MarkupDocBuilder apply(MarkupDocBuilder markupDocBuilder, Parameters params) { DataFrame dataFrame = params.dataFrame; java.util.List<MarkupTableColumn> columnSpecs = dataFrame.getColumns().map(column -> { Integer widthRatio = Integer.valueOf(column.getMetaData().get(WIDTH_RATIO).getOrElse("0")); return new MarkupTableColumn(column.getId().getName()) .withWidthRatio(widthRatio) .withHeaderColumn(Boolean.parseBoolean(column.getMetaData().get(HEADER_COLUMN).getOrElse("false"))) .withMarkupSpecifiers(MarkupLanguage.ASCIIDOC, ".^" + widthRatio + "a"); } ).toJavaList(); IndexedSeq<IndexedSeq<String>> columnValues = dataFrame.getColumns() .map(column -> ((StringColumn) column).getValues()); java.util.List<java.util.List<String>> cells = Array.range(0, dataFrame.getRowCount()) .map(rowNumber -> columnValues.map(values -> values.get(rowNumber)).toJavaList()).toJavaList(); return markupDocBuilder.tableWithColumnSpecs(columnSpecs, cells); }
public IndexedSeq<ColumnId> getColumnIds() { return columns.map(Column::getId); }
public IndexedSeq<ColumnId> getColumnIds() { return columns.map(Column::getId); }
@Override public Array<Array<T>> combinations() { return rangeClosed(0, length()).map(this::combinations).flatMap(Function.identity()); }
static <T> Array<Array<T>> apply(Array<T> elements, int k) { if (k == 0) { return Array.of(Array.empty()); } else { return elements.zipWithIndex().flatMap( t -> apply(elements.drop(t._2 + 1), (k - 1)).map(c -> c.prepend(t._1)) ); } } }
@Override public Array<Array<T>> permutations() { if (isEmpty()) { return empty(); } else if (delegate.length == 1) { return of(this); } else { final Array<Array<T>> zero = empty(); return distinct().foldLeft(zero, (xs, x) -> { final Function<Array<T>, Array<T>> prepend = l -> l.prepend(x); return xs.appendAll(remove(x).permutations().map(prepend)); }); } }
try { contactPoints = Array.of(this.hostnames) .map(hostName -> hostName.split(":")) .map(array -> Tuple.of(array[0], array.length == 2 ? Integer.parseInt(array[1]) : this.port)) .map(tuple -> new InetSocketAddress(tuple._1, tuple._2)) .toJavaList(); } catch (SecurityException | ArrayIndexOutOfBoundsException | NumberFormatException e) {
@Override public MarkupDocBuilder apply(MarkupDocBuilder markupDocBuilder, Parameters params) { DataFrame dataFrame = params.dataFrame; java.util.List<MarkupTableColumn> columnSpecs = dataFrame.getColumns().map(column -> { Integer widthRatio = Integer.valueOf(column.getMetaData().get(WIDTH_RATIO).getOrElse("0")); return new MarkupTableColumn(column.getId().getName()) .withWidthRatio(widthRatio) .withHeaderColumn(Boolean.parseBoolean(column.getMetaData().get(HEADER_COLUMN).getOrElse("false"))) .withMarkupSpecifiers(MarkupLanguage.ASCIIDOC, ".^" + widthRatio + "a"); } ).toJavaList(); IndexedSeq<IndexedSeq<String>> columnValues = dataFrame.getColumns() .map(column -> ((StringColumn) column).getValues()); java.util.List<java.util.List<String>> cells = Array.range(0, dataFrame.getRowCount()) .map(rowNumber -> columnValues.map(values -> values.get(rowNumber)).toJavaList()).toJavaList(); return markupDocBuilder.tableWithColumnSpecs(columnSpecs, cells); }
@Override public MarkupDocBuilder apply(MarkupDocBuilder markupDocBuilder, Parameters params) { DataFrame dataFrame = params.dataFrame; java.util.List<MarkupTableColumn> columnSpecs = dataFrame.getColumns().map(column -> { Integer widthRatio = Integer.valueOf(column.getMetaData().get(WIDTH_RATIO).getOrElse("0")); return new MarkupTableColumn(column.getId().getName()) .withWidthRatio(widthRatio) .withHeaderColumn(Boolean.parseBoolean(column.getMetaData().get(HEADER_COLUMN).getOrElse("false"))) .withMarkupSpecifiers(MarkupLanguage.ASCIIDOC, ".^" + widthRatio + "a"); } ).toJavaList(); IndexedSeq<IndexedSeq<String>> columnValues = dataFrame.getColumns() .map(column -> ((StringColumn) column).getValues()); java.util.List<java.util.List<String>> cells = Array.range(0, dataFrame.getRowCount()) .map(rowNumber -> columnValues.map(values -> values.get(rowNumber)).toJavaList()).toJavaList(); return markupDocBuilder.tableWithColumnSpecs(columnSpecs, cells); }