package com.intuit.tank.project;
/*
* #%L
* Intuit Tank data model
* %%
* Copyright (C) 2011 - 2015 Intuit Inc.
* %%
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* #L%
*/
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.apache.commons.lang3.builder.CompareToBuilder;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.hibernate.annotations.Index;
@Entity
@Table(name = "timing_periodic")
public class PeriodicData extends BaseEntity implements Comparable<PeriodicData> {
private static final long serialVersionUID = 1L;
public static final String PROPERTY_JOB_ID = "jobId";
public static final String PROPERTY_PAGE_ID = "pageId";
public static final String PROPERTY_TIMESTAMP = "timestamp";
@Column(name = "job_id", nullable = false, updatable = false)
@Index(name = "IDX_TS_JOB_ID")
private int jobId;
@Column(name = "timestamp", nullable = false, updatable = false)
@Temporal(TemporalType.TIMESTAMP)
@Index(name = "IDX_TS_TIME")
private Date timestamp;
@Column(name = "page_id", nullable = false, updatable = false)
@Index(name = "IDX_TS_PAGE_ID")
private String pageId;
@Column(name = "sample_size", nullable = false, updatable = false)
private int sampleSize;
@Column(name = "period", nullable = false, updatable = false)
private int period;
@Column(name = "mean", nullable = false, updatable = false)
private double mean;
@Column(name = "min", nullable = false, updatable = false)
private double min;
@Column(name = "max", nullable = false, updatable = false)
private double max;
/**
* @return the jobId
*/
public int getJobId() {
return jobId;
}
/**
* @param jobId
* the jobId to set
*/
public void setJobId(int jobId) {
this.jobId = jobId;
}
/**
* @return the timestamp
*/
public Date getTimestamp() {
return timestamp;
}
/**
* @param timestamp
* the timestamp to set
*/
public void setTimestamp(Date timestamp) {
this.timestamp = timestamp;
}
/**
* @return the period
*/
public int getPeriod() {
return period;
}
/**
* @param period
* the period to set
*/
public void setPeriod(int period) {
this.period = period;
}
/**
* @return the pageId
*/
public String getPageId() {
return pageId;
}
/**
* @param pageId
* the pageId to set
*/
public void setPageId(String pageId) {
this.pageId = pageId;
}
/**
* @return the sampleSize
*/
public int getSampleSize() {
return sampleSize;
}
/**
* @param sampleSize
* the sampleSize to set
*/
public void setSampleSize(int sampleSize) {
this.sampleSize = sampleSize;
}
/**
* @return the mean
*/
public double getMean() {
return mean;
}
/**
* @param mean
* the mean to set
*/
public void setMean(double mean) {
this.mean = mean;
}
/**
* @return the min
*/
public double getMin() {
return min;
}
/**
* @param min
* the min to set
*/
public void setMin(double min) {
this.min = min;
}
/**
* @return the max
*/
public double getMax() {
return max;
}
/**
* @param max
* the max to set
*/
public void setMax(double max) {
this.max = max;
}
/**
* @{inheritDoc
*/
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
/**
* @{inheritDoc
*/
@Override
public boolean equals(Object obj) {
return EqualsBuilder.reflectionEquals(this, obj);
}
/**
* @{inheritDoc
*/
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}
/**
* @{inheritDoc
*/
@Override
public int compareTo(PeriodicData o) {
return new CompareToBuilder().append(timestamp, o.timestamp).toComparison();
}
}