001/* 002 * #%L 003 * Netarchivesuite - archive 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.archive.arcrepositoryadmin; 024 025import dk.netarkivet.common.exceptions.ArgumentNotValid; 026 027/** 028 * The status for the file list updates. This is used by the DatabaseBasedActiveBitPreservation. 029 */ 030public enum FileListStatus { 031 /** If the status has not been defined. This is the initial value. */ 032 NO_FILELIST_STATUS, 033 /** If the file is missing from a file list or a checksum list. */ 034 MISSING, 035 /** If the file has the correct checksum. */ 036 OK; 037 038 /** 039 * Method to retrieve the FileListStatus based on an integer. 040 * 041 * @param status A specific integer for the upload status 042 * @return The UploadStatus related to the certain integer 043 * @throws ArgumentNotValid If argument rt does not correspond to a UploadStatus. 044 */ 045 public static FileListStatus fromOrdinal(int status) throws ArgumentNotValid { 046 switch (status) { 047 case 0: 048 return NO_FILELIST_STATUS; 049 case 1: 050 return MISSING; 051 case 2: 052 return OK; 053 default: 054 throw new ArgumentNotValid("Invalid filelist status with number " + status); 055 } 056 } 057}