All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ru.taskurotta.service.metrics.model.NumberDataRowVO Maven / Gradle / Ivy

package ru.taskurotta.service.metrics.model;

import java.util.concurrent.atomic.AtomicReferenceArray;

/**
 * User: dimadin
 * Date: 24.10.13 17:02
 */
public class NumberDataRowVO extends BaseDataRowVO {

    private AtomicReferenceArray> data;

    public NumberDataRowVO(int size, String metricName, String dataSetName) {
        super(size, metricName, dataSetName);
        data = new AtomicReferenceArray>(size);
    }

    //Return updated position
    public int populate(Number value, long measureTime) {
        int position = getPosition();
        DataPointVO positionValue = this.data.get(position);

        if (positionValue!=null) {
            positionValue.update(value, measureTime);
        } else {
            this.data.set(position, new DataPointVO(value, measureTime));
        }

        this.updated = System.currentTimeMillis();
        if (lastActive < measureTime) {
            this.lastActive = measureTime;
        }
        return position;
    }

    public DataPointVO[] getCurrentData() {
        DataPointVO[] result = new DataPointVO[size];
        for (int i = 0; i




© 2015 - 2025 Weber Informatics LLC | Privacy Policy