001/*
002 * #%L
003 * Netarchivesuite - harvester
004 * %%
005 * Copyright (C) 2005 - 2014 The Royal Danish Library, the Danish State and University Library,
006 *             the National Library of France and the Austrian National Library.
007 * %%
008 * This program is free software: you can redistribute it and/or modify
009 * it under the terms of the GNU Lesser General Public License as
010 * published by the Free Software Foundation, either version 2.1 of the
011 * License, or (at your option) any later version.
012 * 
013 * This program is distributed in the hope that it will be useful,
014 * but WITHOUT ANY WARRANTY; without even the implied warranty of
015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
016 * GNU General Lesser Public License for more details.
017 * 
018 * You should have received a copy of the GNU General Lesser Public
019 * License along with this program.  If not, see
020 * <http://www.gnu.org/licenses/lgpl-2.1.html>.
021 * #L%
022 */
023package dk.netarkivet.harvester.datamodel;
024
025import java.io.Serializable;
026
027import dk.netarkivet.common.exceptions.ArgumentNotValid;
028
029/**
030 * Class containing Info about a harvestjob.
031 */
032@SuppressWarnings({"serial"})
033public class HarvestDefinitionInfo implements Serializable {
034
035    /** The original harvest name. */
036    private final String origHarvestName;
037
038    /** The original harvest description. */
039    private final String origHarvestDesc;
040
041    /** The name of the schedule for the original harvest definition. */
042    private final String scheduleName;
043
044    /**
045     * Builds a harvest definition info object.
046     *
047     * @param origHarvestName the harvest definition's name
048     * @param origHarvestDesc the harvest definition's comments (can be empty string)
049     * @param scheduleName the harvest definition's schedule name (only applicable for selective harvests)
050     */
051    public HarvestDefinitionInfo(String origHarvestName, String origHarvestDesc, String scheduleName) {
052        super();
053        ArgumentNotValid.checkNotNullOrEmpty(origHarvestName, "origHarvestName");
054        ArgumentNotValid.checkNotNull(origHarvestDesc, "origHarvestDesc");
055        ArgumentNotValid.checkNotNull(scheduleName, "scheduleName");
056        this.origHarvestName = origHarvestName;
057        this.origHarvestDesc = origHarvestDesc;
058        this.scheduleName = scheduleName;
059    }
060
061    /**
062     * @return the origHarvestName
063     */
064    public String getOrigHarvestName() {
065        return origHarvestName;
066    }
067
068    /**
069     * @return the origHarvestDesc
070     */
071    public String getOrigHarvestDesc() {
072        return origHarvestDesc;
073    }
074
075    /**
076     * @return the origHarvestScheduleName
077     */
078    public String getScheduleName() {
079        return scheduleName;
080    }
081
082}