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.arcrepository; 024 025import java.io.InputStream; 026 027import dk.netarkivet.common.exceptions.ArgumentNotValid; 028 029/** 030 * Simple helper class to store the fact, whether we have a stream which contains a header or a stream, which does not. 031 */ 032public class ResultStream { 033 034 /** The inputstream w/ or without a HTTP header. */ 035 private final InputStream inputstream; 036 037 /** Does the inputstream contains a HTTP header?. */ 038 private final boolean containsHeader; 039 040 /** 041 * Create a ResultStream with the given inputStream and information of whether or not the inputStream contains a 042 * header. 043 * 044 * @param inputstream An inputStream w/ the data for a stored URI 045 * @param containsHeader true, if the stream contains a header, otherwise false 046 */ 047 public ResultStream(InputStream inputstream, boolean containsHeader) { 048 ArgumentNotValid.checkNotNull(inputstream, "InputStream inputstream"); 049 this.inputstream = inputstream; 050 this.containsHeader = containsHeader; 051 } 052 053 /** 054 * @return the inputstream 055 */ 056 public InputStream getInputStream() { 057 return this.inputstream; 058 } 059 060 /** 061 * @return true, if the resultStream contains a header; otherwise false. 062 */ 063 public boolean containsHeader() { 064 return this.containsHeader; 065 } 066 067}