/* AWE - Amanzi Wireless Explorer
* http://awe.amanzi.org
* (C) 2008-2009, AmanziTel AB
*
* This library is provided under the terms of the Eclipse Public License
* as described at http://www.eclipse.org/legal/epl-v10.html. Any use,
* reproduction or distribution of the library constitutes recipient's
* acceptance of this agreement.
*
* This library is distributed WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
package org.amanzi.awe.statistics.dto.impl;
import java.util.ArrayList;
import java.util.List;
import org.amanzi.awe.statistics.dto.IStatisticsCell;
import org.amanzi.awe.statistics.dto.IStatisticsGroup;
import org.amanzi.awe.statistics.dto.IStatisticsRow;
import org.amanzi.neo.impl.dto.SourcedElement;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.neo4j.graphdb.Node;
import com.google.common.collect.Iterables;
/**
* TODO Purpose of
* <p>
* </p>
*
* @author Nikolay Lagutko (nikolay.lagutko@amanzitel.com)
* @since 1.0.0
*/
public class StatisticsRow extends SourcedElement implements IStatisticsRow {
private long startDate;
private long endDate;
private final List<IStatisticsCell> statisticsCells = new ArrayList<IStatisticsCell>();
private boolean summury = false;
private IStatisticsGroup statisticsGroup;
public StatisticsRow(final Node node, final ICollectFunction collectFunction) {
super(node, collectFunction);
}
/**
* @return Returns the startDate.
*/
@Override
public long getStartDate() {
return startDate;
}
/**
* @param startDate The startDate to set.
*/
public void setStartDate(final long startDate) {
this.startDate = startDate;
}
/**
* @return Returns the endDate.
*/
@Override
public long getEndDate() {
return endDate;
}
/**
* @param endDate The endDate to set.
*/
public void setEndDate(final long endDate) {
this.endDate = endDate;
}
@Override
public String toString() {
String startDateString = DateFormatUtils.ISO_DATETIME_FORMAT.format(startDate);
String endDateString = DateFormatUtils.ISO_DATETIME_FORMAT.format(endDate);
StringBuilder builder = new StringBuilder("StatisticsRow from <").append(startDateString).append("> to <")
.append(endDateString).append(">.");
return builder.toString();
}
/**
* @return Returns the statisticsCells.
*/
@Override
public Iterable<IStatisticsCell> getStatisticsCells() {
return statisticsCells;
}
/**
* @param statisticsCells The statisticsCells to set.
*/
public void setStatisticsCells(final Iterable<IStatisticsCell> statisticsCells) {
// TODO KV: make sure about this way solution
this.statisticsCells.clear();
Iterables.addAll(this.statisticsCells, statisticsCells);
}
/**
* @return Returns the statisticsGroup.
*/
@Override
public IStatisticsGroup getStatisticsGroup() {
return statisticsGroup;
}
/**
* @param statisticsGroup The statisticsGroup to set.
*/
public void setStatisticsGroup(final IStatisticsGroup statisticsGroup) {
this.statisticsGroup = statisticsGroup;
}
/**
* @return Returns the summury.
*/
@Override
public boolean isSummury() {
return summury;
}
/**
* @param summury The summury to set.
*/
public void setSummury(final boolean summury) {
this.summury = summury;
}
}