package org.cyclopsgroup.jmxterm.io;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import org.apache.commons.lang.Validate;
/**
* Implementation of CommandInput with given File
*
* @author <a href="mailto:jiaqi.guo@gmail.com">Jiaqi Guo</a>
*/
public class FileCommandInput
extends CommandInput
{
private final LineNumberReader in;
/**
* Read input from a given file
*
* @param inputFile Given input file
* @throws FileNotFoundException Thrown when file doesn't exist
*/
public FileCommandInput( File inputFile )
throws FileNotFoundException
{
Validate.notNull( inputFile, "Input can't be NULL" );
this.in = new LineNumberReader( new FileReader( inputFile ) );
}
/**
* @inheritDoc
*/
@Override
public void close()
throws IOException
{
in.close();
}
/**
* @inheritDoc
*/
@Override
public String readLine()
throws IOException
{
return in.readLine();
}
/**
* @inheritDoc
*/
@Override
public String readMaskedString( String prompt )
throws IOException
{
throw new UnsupportedOperationException( "Reading password from a file is not supported" );
}
}