static Aggregation composition()

in java/grafana-api/src/main/java/com/epam/deltix/grafana/base/Aggregation.java [50:85]


    static Aggregation composition(Aggregation first, Aggregation second) {
        return new Aggregation() {
            @Override
            public boolean add(GenericRecord record) throws RecordValidationException {
                if (first.add(record)) {
                    GenericRecord r = first.record(record.timestamp());
                    if (second.isValid(r)) {
                        return second.add(r);
                    } else {
                        throw new RecordValidationException(r, second);
                    }
                }
                return false;
            }

            @Override
            public Collection<Field> fields() {
                return second.fields();
            }

            @Override
            public GenericRecord record(long timestamp) {
                return second.record(timestamp);
            }

            @Override
            public boolean isValid(GenericRecord record) {
                return first.isValid(record);
            }

            @Override
            public GenericRecord calculateLast() {
                return second.calculateLast();
            }
        };
    }