/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.livedata.firehose;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.opengamma.OpenGammaRuntimeException;
import com.opengamma.util.ArgumentChecker;
/**
* An implementation of {@link InputStreamFactory} that opens a {@link File}.
*/
public class FileInputStreamFactory implements InputStreamFactory {
private static final Logger s_logger = LoggerFactory.getLogger(FileInputStreamFactory.class);
private final File _inputFile;
private String _description;
public FileInputStreamFactory(String fileName) {
this(new File(fileName));
}
public FileInputStreamFactory(File inputFile) {
ArgumentChecker.notNull(inputFile, "inputFile");
_inputFile = inputFile;
_description = "File[" + _inputFile.getAbsolutePath() + "]";
}
@Override
public InputStream openConnection() {
s_logger.info("Opening connection to {}", _inputFile.getAbsolutePath());
try {
return new FileInputStream(_inputFile);
} catch (FileNotFoundException ex) {
throw new OpenGammaRuntimeException("Unable to open file " + _inputFile.getAbsolutePath(), ex);
}
}
@Override
public String getDescription() {
return _description;
}
}