001/* 002 * #%L 003 * Netarchivesuite - common 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.common.distribute; 024 025import java.io.File; 026import java.io.InputStream; 027import java.io.OutputStream; 028 029import dk.netarkivet.common.exceptions.NotImplementedException; 030 031/** 032 * This is an implementation of RemoteFile which does nothing and can therefore be used in batch jobs for which no 033 * output is required. 034 */ 035@SuppressWarnings({"serial"}) 036public class NullRemoteFile implements RemoteFile { 037 038 /** 039 * @see RemoteFileFactory#getInstance(File, boolean, boolean, boolean) 040 */ 041 public static RemoteFile getInstance(File f, Boolean useChecksums, Boolean fileDeletable, Boolean multipleDownloads) { 042 return new NullRemoteFile(); 043 } 044 045 /** 046 * @see RemoteFile#copyTo(File) 047 */ 048 public void copyTo(File destFile) { 049 } 050 051 /** 052 * @see RemoteFile#appendTo(OutputStream) 053 */ 054 public void appendTo(OutputStream out) { 055 } 056 057 public InputStream getInputStream() { 058 return null; 059 } 060 061 /** 062 * @see RemoteFile#cleanup() 063 */ 064 public void cleanup() { 065 } 066 067 /** 068 * @see RemoteFile#getSize() 069 */ 070 public long getSize() { 071 return 0; 072 } 073 074 /** 075 * Return the file name. 076 * 077 * @return the file name 078 * @see RemoteFile#getName() 079 */ 080 public String getName() { 081 return null; 082 } 083 084 /** 085 * Returns a MD5 Checksum on the file. 086 * 087 * @return MD5 checksum 088 * @throws NotImplementedException Because it is not implemented 089 * @see RemoteFile#getChecksum() 090 */ 091 public String getChecksum() throws NotImplementedException { 092 throw new NotImplementedException("Not implemented!"); 093 } 094 095}