All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.dspace.statistics.content.DSORepresentation Maven / Gradle / Ivy

There is a newer version: 8.0
Show 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.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;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy