static IndexedSeq<CharSeq> apply(CharSeq elements, int k) { if (k == 0) { return Vector.of(CharSeq.empty()); } else { return elements.zipWithIndex().flatMap( t -> apply(elements.drop(t._2 + 1), (k - 1)).map((CharSeq c) -> c.prepend(t._1)) ); } } }
@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<String> getColumnNames() { return getColumnIds().map(ColumnId::getName); }
public IndexedSeq<String> getColumnNames() { return getColumnIds().map(ColumnId::getName); }
private static int inferRowCount(IndexedSeq<Column<?>> columns) { if (columns.isEmpty()) { return 0; } else { Set<Integer> rowCounts = columns.map(Column::getRowCount).distinct().toSet(); if (rowCounts.length() > 1) { throw new IllegalArgumentException("Differing number of rows (i.e. column sizes)"); } else { return rowCounts.iterator().next(); } } }
private static int inferRowCount(IndexedSeq<Column<?>> columns) { if (columns.isEmpty()) { return 0; } else { Set<Integer> rowCounts = columns.map(Column::getRowCount).distinct().toSet(); if (rowCounts.length() > 1) { throw new IllegalArgumentException("Differing number of rows (i.e. column sizes)"); } else { return rowCounts.iterator().next(); } } }
static IndexedSeq<CharSeq> apply(CharSeq elements, int k) { if (k == 0) { return Vector.of(CharSeq.empty()); } else { return elements.zipWithIndex().flatMap( t -> apply(elements.drop(t._2 + 1), (k - 1)).map((CharSeq c) -> c.prepend(t._1)) ); } } }
@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); }
TimestampColumn dateOfBirthColumn = df.getColumn(dateOfBirthColumnId); Function<? super Instant, Month> toMonth = instant -> instant.atZone(ZoneId.from(ZoneOffset.UTC)).getMonth(); assertEquals(asList(Month.AUGUST, Month.JANUARY, Month.OCTOBER), dateOfBirthColumn.getValues().map(toMonth).toJavaList()); assertEquals(111, dateOfBirthColumn.getValueAt(0).getLong(ChronoField.MILLI_OF_SECOND)); assertEquals(222, dateOfBirthColumn.getValueAt(1).getLong(ChronoField.MILLI_OF_SECOND));