@Override public String toString() { return StringUtils.join(iterator(), ','); }
/** * Sets the aggregate values * * @param aggregateValues aggregate value list */ public void setAggregateValues(PropertyValueList aggregateValues) { List<PropertyValue> aggregate = new ArrayList<>(); aggregateValues.iterator().forEachRemaining(aggregate::add); setAggregateValues(aggregate); }
/** * Sets the aggregate values * * @param aggregateValues aggregate value list */ public void setAggregateValues(PropertyValueList aggregateValues) { List<PropertyValue> aggregate = new ArrayList<>(); aggregateValues.iterator().forEachRemaining(aggregate::add); setAggregateValues(aggregate); }
/** * Adds the given group properties to the attributed element. * * @param attributed attributed element * @param groupPropertyValues group property values * @param vertexLabelGroup vertex label group */ protected void setGroupProperties(EPGMAttributed attributed, PropertyValueList groupPropertyValues, LabelGroup vertexLabelGroup) { Iterator<PropertyValue> valueIterator = groupPropertyValues.iterator(); for (String groupPropertyKey : vertexLabelGroup.getPropertyKeys()) { attributed.setProperty(groupPropertyKey, valueIterator.next()); } }
/** * Sets the given property values as new properties at the given element. * @param element attributed element * @param values aggregate values * @param valueAggregators aggregate functions */ protected void setAggregateProperties(EPGMAttributed element, PropertyValueList values, List<AggregateFunction> valueAggregators) { if (!valueAggregators.isEmpty()) { Iterator<PropertyValue> valueIt = values.iterator(); for (AggregateFunction valueAggregator : valueAggregators) { element.setProperty(valueAggregator.getAggregatePropertyKey(), valueIt.next()); } } } }
/** * Adds the given group properties to the attributed element. * * @param attributed attributed element * @param groupPropertyValues group property values * @param vertexLabelGroup vertex label group */ protected void setGroupProperties(EPGMAttributed attributed, PropertyValueList groupPropertyValues, LabelGroup vertexLabelGroup) { Iterator<PropertyValue> valueIterator = groupPropertyValues.iterator(); for (String groupPropertyKey : vertexLabelGroup.getPropertyKeys()) { attributed.setProperty(groupPropertyKey, valueIterator.next()); } }
/** * Sets the given property values as new properties at the given element. * @param element attributed element * @param values aggregate values * @param valueAggregators aggregate functions */ protected void setAggregateProperties(EPGMAttributed element, PropertyValueList values, List<AggregateFunction> valueAggregators) { if (!valueAggregators.isEmpty()) { Iterator<PropertyValue> valueIt = values.iterator(); for (AggregateFunction valueAggregator : valueAggregators) { element.setProperty(valueAggregator.getAggregatePropertyKey(), valueIt.next()); } } } }
/** * Aggregates the aggregate values with {@code values} using the aggregate functions * * @param values values to aggregate with */ public void aggregate(PropertyValueList values) { if (f4.isEmpty()) { setAggregateValues(values); return; } Iterator<PropertyValue> valueIt = values.iterator(); ListIterator<PropertyValue> aggregateIt = f4.listIterator(); PropertyValue value; PropertyValue aggregate; for (AggregateFunction valueAggregator : getAggregateFunctions()) { value = valueIt.next(); if (!PropertyValue.NULL_VALUE.equals(value)) { aggregate = aggregateIt.next(); if (!PropertyValue.NULL_VALUE.equals(aggregate)) { aggregateIt.set(valueAggregator.aggregate(aggregate, value)); } else { aggregateIt.set(value); } } } }
/** * Aggregates the aggregate values with {@code values} using the aggregate functions * * @param values values to aggregate with */ public void aggregate(PropertyValueList values) { if (f4.isEmpty()) { setAggregateValues(values); return; } Iterator<PropertyValue> valueIt = values.iterator(); ListIterator<PropertyValue> aggregateIt = f4.listIterator(); PropertyValue value; PropertyValue aggregate; for (AggregateFunction valueAggregator : getAggregateFunctions()) { value = valueIt.next(); if (!PropertyValue.NULL_VALUE.equals(value)) { aggregate = aggregateIt.next(); if (!PropertyValue.NULL_VALUE.equals(aggregate)) { aggregateIt.set(valueAggregator.aggregate(aggregate, value)); } else { aggregateIt.set(value); } } } }