
timeBench.R.data.ACFDataObject Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of timebench Show documentation
Show all versions of timebench Show documentation
TimeBench, a flexible, easy-to-use, and reusable software library written in Java that provides foundational data structures and algorithms for time- oriented data in Visual Analytics.
The newest version!
package timeBench.R.data;
import java.util.Arrays;
import prefuse.data.Table;
public class ACFDataObject {
private static final String CORFUNC_COLUMN = "corfunc";
private static final String LAG_COLUMN = "lag";
private double m_boundaries;
private double[] m_lags, m_corrfunct;
private String m_groupname;
public ACFDataObject(String name, double[] lags, double[] correlationf, double boundaries) {
m_lags = lags.clone();
m_corrfunct = correlationf.clone();
m_boundaries = boundaries;
m_groupname = name;
}
public void setLags(double[] l) {
m_lags = l.clone();
}
public double[] getLags() {
return m_lags;
}
public void setAutocorrelationFunction(double[] a) {
m_corrfunct = a.clone();
}
public double[] getAutocorrelationFunction() {
return m_corrfunct;
}
public double getBoundaries() {
return m_boundaries;
}
public void setBoundaries(double boundaries) {
this.m_boundaries = boundaries;
}
public String getGroupName() {
return m_groupname;
}
public void setGroupName(String name) {
m_groupname = name;
}
public String getLagColumnName() {
return LAG_COLUMN;
}
public String getCorrFunctionColumnName() {
return CORFUNC_COLUMN;
}
public Table getDataTable() {
Table ret = new Table(m_lags.length, 0);
ret.addColumn(LAG_COLUMN, double.class);
ret.addColumn(CORFUNC_COLUMN, double.class);
for (int i = 0 ; i < m_lags.length; i++) {
ret.setDouble(i,0,m_lags[i]);
ret.setDouble(i,1,m_corrfunct[i]);
}
return ret;
}
public double getMaxLag() {
return m_lags[m_lags.length-1];
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
long temp;
temp = Double.doubleToLongBits(m_boundaries);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result + Arrays.hashCode(m_corrfunct);
result = prime * result
+ ((m_groupname == null) ? 0 : m_groupname.hashCode());
result = prime * result + Arrays.hashCode(m_lags);
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ACFDataObject other = (ACFDataObject) obj;
if (Double.doubleToLongBits(m_boundaries) != Double
.doubleToLongBits(other.m_boundaries))
return false;
if (!Arrays.equals(m_corrfunct, other.m_corrfunct))
return false;
if (m_groupname == null) {
if (other.m_groupname != null)
return false;
} else if (!m_groupname.equals(other.m_groupname))
return false;
if (!Arrays.equals(m_lags, other.m_lags))
return false;
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy