All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.kohsuke.args4j.FileOutputStreamOptionHandler Maven / Gradle / Ivy

There is a newer version: 1.3.6
Show newest version
package org.kohsuke.args4j;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
import org.kohsuke.args4j.OptionDef;
import org.kohsuke.args4j.spi.OptionHandler;
import org.kohsuke.args4j.spi.Parameters;
import org.kohsuke.args4j.spi.Setter;

/**
 * An {@link OptionHandler} that can provide a {@link FileOutputStream} from
 * a file name.
 * 
 * @author Jonathon Hare ([email protected])
 *
 */
public class FileOutputStreamOptionHandler extends OptionHandler {
	/**
	 * Default constructor.
	 * @param parser the parser
	 * @param option the option definition
	 * @param setter the setter
	 */
	public FileOutputStreamOptionHandler(CmdLineParser parser, OptionDef option, Setter setter) {
		super(parser, option, setter);
	}

	@Override
	public String getDefaultMetaVariable() {
		return "outputFile";
	}

	@Override
	public int parseArguments(Parameters params) throws CmdLineException {
		File file = new File(params.getParameter(0));
		try {
			setter.addValue(new FileOutputStream(file));
		} catch (IOException e) {
			throw new CmdLineException(owner, "Error opening stream to output file " + file, e);
		}
		
		return 1;
	}
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy