@Override public void execute() { row.setAttribute(column, null); }
@Override public void setValueCharacter(Character object) { row.setAttribute(column, object); }
@Override public void setValueInteger(Integer object) { row.setAttribute(column, object); }
@Override public void setValueByte(Byte object) { row.setAttribute(column, object); }
@Override public void setValueDouble(Double object) { row.setAttribute(column, object); }
@Override public void setValueLong(Long object) { row.setAttribute(column, object); }
private void setValueToAllElements(Object object) { this.value = object; for (Element row : rows) { row.setAttribute(column, value); } }
@Override public void setValueShort(Short object) { row.setAttribute(column, object); }
@Override public void setValueString(String object) { row.setAttribute(column, object); }
@Override public void setValueBoolean(Boolean object) { row.setAttribute(column, object); }
@Override public void setValueFloat(Float object) { row.setAttribute(column, object); }
@Override public void setValueAsString(String value) { row.setAttribute(column, AttributeUtils.parse(value, column.getTypeClass())); } }
@Override public void execute() { Column column1, column2; column1 = columns[0]; column2 = columns[1]; //Simplify code using data laboratory API utilities: AttributeColumnsController ac = Lookup.getDefault().lookup(AttributeColumnsController.class); //New column: Column newColumn = ac.addAttributeColumn(table, columnTitle, Boolean.class); //Fill rows of new column: Element[] rows = ac.getTableAttributeRows(table); for (int i = 0; i < rows.length; i++) { rows[i].setAttribute(newColumn, valuesAreEqual(column1, column2, rows[i])); } }
/** * Used to negate the values of a single boolean column. */ private void negateColumnBooleanType(Table table, Column column) { Object value; Boolean newValue; for (Element row : getTableAttributeRows(table)) { value = row.getAttribute(column); if (value != null) { newValue = !((Boolean) value); row.setAttribute(column, newValue); } } }
/** * Used to negate all values of a list of boolean values column. */ private void negateColumnListBooleanType(Table table, Column column) { Object value; Boolean[] newValues; for (Element row : getTableAttributeRows(table)) { value = row.getAttribute(column); if (value != null) { Boolean[] list = (Boolean[]) value; newValues = new Boolean[list.length]; for (int i = 0; i < list.length; i++) { newValues[i] = !list[i]; } row.setAttribute(column, newValues); } } }
@Override public Column thirdQuartileNumberMerge(Table table, Column[] columnsToMerge, String newColumnTitle) { checkTableAndColumnsAreNumberOrNumberList(table, columnsToMerge); AttributeColumnsController ac = Lookup.getDefault().lookup(AttributeColumnsController.class); Column newColumn; newColumn = ac.addAttributeColumn(table, newColumnTitle, BigDecimal.class);//Create as BIGDECIMAL column by default. Then it can be duplicated to other type. if (newColumn == null) { return null; } BigDecimal Q3; for (Element row : ac.getTableAttributeRows(table)) { Q3 = StatisticsUtils.quartile3(ac.getRowNumbers(row, columnsToMerge)); row.setAttribute(newColumn, Q3); } return newColumn; }
@Override public Column sumNumbersMerge(Table table, Column[] columnsToMerge, String newColumnTitle) { checkTableAndColumnsAreNumberOrNumberList(table, columnsToMerge); AttributeColumnsController ac = Lookup.getDefault().lookup(AttributeColumnsController.class); Column newColumn; newColumn = ac.addAttributeColumn(table, newColumnTitle, BigDecimal.class);//Create as BIGDECIMAL column by default. Then it can be duplicated to other type. if (newColumn == null) { return null; } BigDecimal sum; for (Element row : ac.getTableAttributeRows(table)) { sum = StatisticsUtils.sum(ac.getRowNumbers(row, columnsToMerge)); row.setAttribute(newColumn, sum); } return newColumn; }
@Override public Column averageNumberMerge(Table table, Column[] columnsToMerge, String newColumnTitle) { checkTableAndColumnsAreNumberOrNumberList(table, columnsToMerge); AttributeColumnsController ac = Lookup.getDefault().lookup(AttributeColumnsController.class); Column newColumn; newColumn = ac.addAttributeColumn(table, newColumnTitle, BigDecimal.class);//Create as BIGDECIMAL column by default. Then it can be duplicated to other type. if (newColumn == null) { return null; } BigDecimal average; for (Element row : ac.getTableAttributeRows(table)) { average = StatisticsUtils.average(ac.getRowNumbers(row, columnsToMerge)); row.setAttribute(newColumn, average); } return newColumn; }
@Override public Column minValueNumbersMerge(Table table, Column[] columnsToMerge, String newColumnTitle) { checkTableAndColumnsAreNumberOrNumberList(table, columnsToMerge); AttributeColumnsController ac = Lookup.getDefault().lookup(AttributeColumnsController.class); Column newColumn; newColumn = ac.addAttributeColumn(table, newColumnTitle, BigDecimal.class);//Create as BIGDECIMAL column by default. Then it can be duplicated to other type. if (newColumn == null) { return null; } BigDecimal min; for (Element row : ac.getTableAttributeRows(table)) { min = StatisticsUtils.minValue(ac.getRowNumbers(row, columnsToMerge)); row.setAttribute(newColumn, min); } return newColumn; }
@Override public Column maxValueNumbersMerge(Table table, Column[] columnsToMerge, String newColumnTitle) { checkTableAndColumnsAreNumberOrNumberList(table, columnsToMerge); AttributeColumnsController ac = Lookup.getDefault().lookup(AttributeColumnsController.class); Column newColumn; newColumn = ac.addAttributeColumn(table, newColumnTitle, BigDecimal.class);//Create as BIGDECIMAL column by default. Then it can be duplicated to other type. if (newColumn == null) { return null; } BigDecimal max; for (Element row : ac.getTableAttributeRows(table)) { max = StatisticsUtils.maxValue(ac.getRowNumbers(row, columnsToMerge)); row.setAttribute(newColumn, max); } return newColumn; }