@Override public void setValueFrom(ColumnValueSelector<?> selector) { DimensionSelector dimensionSelector = (DimensionSelector) selector; keptSelector = dimensionSelector; IndexedInts row = dimensionSelector.getRow(); int rowSize = row.size(); keptRow.ensureSize(rowSize); for (int i = 0; i < rowSize; i++) { keptRow.setValue(i, row.get(i)); } keptRow.setSize(rowSize); }
@Override public void initColumnValues(ColumnValueSelector selector, int columnIndex, Object[] valuess) { final DimensionSelector dimSelector = (DimensionSelector) selector; final IndexedInts row = dimSelector.getRow(); ArrayBasedIndexedInts newRow = (ArrayBasedIndexedInts) valuess[columnIndex]; if (newRow == null) { newRow = new ArrayBasedIndexedInts(); valuess[columnIndex] = newRow; } int rowSize = row.size(); newRow.ensureSize(rowSize); for (int i = 0; i < rowSize; i++) { final String value = dimSelector.lookupName(row.get(i)); final int dictId = reverseDictionary.getInt(value); if (dictId < 0) { dictionary.add(value); reverseDictionary.put(value, nextId); newRow.setValue(i, nextId); nextId++; } else { newRow.setValue(i, dictId); } } newRow.setSize(rowSize); }
@Override public IndexedInts getRow() { IndexedInts baseRow = selector.getRow(); int baseRowSize = baseRow.size(); row.ensureSize(baseRowSize); int resultSize = 0; for (int i = 0; i < baseRowSize; i++) { if (predicate.apply(selector.lookupName(baseRow.get(i)))) { row.setValue(resultSize, i); resultSize++; } } row.setSize(resultSize); return row; }
@Override public IndexedInts getRow() { IndexedInts baseRow = selector.getRow(); int baseRowSize = baseRow.size(); row.ensureSize(baseRowSize); int resultSize = 0; for (int i = 0; i < baseRowSize; i++) { int forwardedValue = forwardMapping.get(baseRow.get(i)); if (forwardedValue >= 0) { row.setValue(resultSize, forwardedValue); resultSize++; } } row.setSize(resultSize); return row; }
@Override public IndexedInts getRow() { IndexedInts baseRow = selector.getRow(); int baseRowSize = baseRow.size(); row.ensureSize(baseRowSize); int resultSize = 0; for (int i = 0; i < baseRowSize; i++) { if (predicate.apply(selector.lookupName(baseRow.get(i)))) { row.setValue(resultSize, i); resultSize++; } } row.setSize(resultSize); return row; }
@Override public void initColumnValues(ColumnValueSelector selector, int columnIndex, Object[] valuess) { final DimensionSelector dimSelector = (DimensionSelector) selector; final IndexedInts row = dimSelector.getRow(); ArrayBasedIndexedInts newRow = (ArrayBasedIndexedInts) valuess[columnIndex]; if (newRow == null) { newRow = new ArrayBasedIndexedInts(); valuess[columnIndex] = newRow; } int rowSize = row.size(); newRow.ensureSize(rowSize); for (int i = 0; i < rowSize; i++) { final String value = dimSelector.lookupName(row.get(i)); final int dictId = reverseDictionary.getInt(value); if (dictId < 0) { dictionary.add(value); reverseDictionary.put(value, nextId); newRow.setValue(i, nextId); nextId++; } else { newRow.setValue(i, dictId); } } newRow.setSize(rowSize); }
@Override public void setValueFrom(ColumnValueSelector<?> selector) { DimensionSelector dimensionSelector = (DimensionSelector) selector; keptSelector = dimensionSelector; IndexedInts row = dimensionSelector.getRow(); int rowSize = row.size(); keptRow.ensureSize(rowSize); for (int i = 0; i < rowSize; i++) { keptRow.setValue(i, row.get(i)); } keptRow.setSize(rowSize); }
@Override public IndexedInts getRow() { IndexedInts baseRow = selector.getRow(); int baseRowSize = baseRow.size(); row.ensureSize(baseRowSize); int resultSize = 0; for (int i = 0; i < baseRowSize; i++) { int forwardedValue = forwardMapping.get(baseRow.get(i)); if (forwardedValue >= 0) { row.setValue(resultSize, forwardedValue); resultSize++; } } row.setSize(resultSize); return row; }