
org.dspace.app.statistics.Stat Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dspace-api Show documentation
Show all versions of dspace-api Show documentation
DSpace core data model and service APIs.
The newest version!
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.statistics;
/**
* This is a primitive class to represent a single statistic, which will
* generally be a key value pair but with the capabilities for being sorted
*
* Note: this class has a natural ordering that is inconsistent with equals
*
* @author Richard Jones
*/
public class Stat implements Comparable {
// FIXME: this class is functional but a bit messy, and should be neatened
// up and completed
/**
* the key, which is effectively the text of the statistic
*/
private String key = null;
/**
* the value assigned to the key, generally a count of the key
*/
private int value = 0;
/**
* a reference to an external resource which relates to this statistic
*/
private String reference = null;
/**
* the units that this statistic is in
*/
private String units = null;
/**
* constructor to create new statistic
*
* @param key the key for the statistic
* @param value the value for the statistic
*/
Stat(String key, int value) {
this.key = key;
this.value = value;
}
/**
* constructor to create new statistic
*
* @param key the key for the statistic
* @param value the value for the statistic
* @param reference the value for the external reference
*/
Stat(String key, int value, String reference) {
this.key = key;
this.value = value;
this.reference = reference;
}
/**
* set the units of this statistic
*
* @param unit the units that this statistic is measured in
*/
public void setUnits(String unit) {
this.units = unit;
}
/**
* get the unts that this statistic is measured in
*
* @return the units this statistic is measured in
*/
public String getUnits() {
return this.units;
}
/**
* get the value of the statistic
*
* @return the value of this statistic
*/
public int getValue() {
return this.value;
}
/**
* get the key (text describing) the statistic
*
* @return the key for this statistic
*/
public String getKey() {
return this.key;
}
/**
* get the reference to related statistic information
*
* @return the reference for this statistic
*/
public String getReference() {
return this.reference;
}
/**
* set the reference information
*
* @param key the key for this statistic
*/
public void setKey(String key) {
this.key = key;
}
/**
* set the reference information
*
* @param reference the reference for this statistic
*/
public void setReference(String reference) {
this.reference = reference;
}
/**
* Compare the current Stat to the given Stat returning -1 if o is less
* than the current Stat, 0 if they are the same, and +1 if o is greater
* than the current Stat.
*
* @param stat the Stat object to compare to the current one
* @return +1, 0, -1 if o is less than, equal to, or greater than the
* current object value.
*/
@Override
public int compareTo(Stat stat) {
int objectValue = stat.getValue();
if (objectValue < this.getValue()) {
return -1;
} else if (objectValue == this.getValue()) {
return 0;
} else if (objectValue > this.getValue()) {
return 1;
}
return 0;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy