com.github.powerlibraries.io.builder.targets.Target Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of iopower Show documentation
Show all versions of iopower Show documentation
Power Libraries is a small project to collect some repeatedly needed or otherwise useful Java 8 classes in a collection of tiny libraries.
IO Power is the first and really tiny library of the Power Libraries. It contains some simple helper method for opening Input- and Outputstreams. The main purpose of IO Power is to make opening streams, readers and writers less cluttered and simple to understand.
The newest version!
package com.github.powerlibraries.io.builder.targets;
import java.io.IOException;
import java.io.OutputStream;
/**
* This interface represents the final consuming element in an output chain. A target is simply an object that is able
* to open an OutputStream.
* @author Manuel Hegner
*
*/
public interface Target {
/**
* @return an OutputStream
* @throws IOException if openeing the OutputStream throws an {@link IOException}
*/
public OutputStream openStream() throws IOException;
/**
* @return true, if the target has any kind of name
*/
public default boolean hasName() {
return false;
}
/**
* @return the name of target. This method throws an {@link UnsupportedOperationException} by default.
*/
public default String getName() {
throw new UnsupportedOperationException();
}
}