/**
* 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.statistics.content;
import org.dspace.core.Constants;
/**
* Describes the displayed representation of the statistics on a DSpaceObject
* and its children.
* @author TODO
*/
public class DSORepresentation {
/** The type of DSpaceObject to be shown. */
private Integer type;
/** The maximum number of children to show. **/
private Integer max;
/** Determines if should show the DSOs as separate entities or use the sum of them. */
private Boolean separate;
private Integer nameLength;
/** Construct a representation assumed to be of an ITEM. */
public DSORepresentation() {
setType(Constants.ITEM);
}
/** Construct a representation as described.
*
* @param type Object type, e.g. Constants.COLLECTION
* @param max Maximum number of children to display
* @param separate True if children's statistics are distinct; false if summed
*/
public DSORepresentation(Integer type, Integer max, Boolean separate) {
this.type = type;
this.max = max;
this.separate = separate;
}
public final Integer getType() {
return type;
}
/**
* @param type Object type, e.g. Constants.COLLECTION
*/
public final void setType(Integer type) {
this.type = type;
}
public final Integer getMax() {
return (max == null) ? -1 : max;
}
/**
* @param max Maximum number of children to display
*/
public final void setMax(Integer max) {
this.max = max;
}
public final Integer getNameLength() {
return nameLength;
}
public final void setNameLength(Integer nameLength) {
this.nameLength = nameLength;
}
public final Boolean getSeparate() {
return (separate != null) && separate;
}
/**
* @param separate true for distinct child statistics; false to sum them
*/
public final void setSeparate(Boolean separate) {
this.separate = separate;
}
}