public abstract class Outputs<T> extends Object
Note that any operation that returns NO_OUTPUT must
return the same singleton object from getNoOutput()
.
Constructor and Description |
---|
Outputs() |
Modifier and Type | Method and Description |
---|---|
abstract T |
add(T prefix,
T output)
Eg add("foo", "bar") -> "foobar"
|
abstract T |
common(T output1,
T output2)
Eg common("foo", "foobar") -> "foo"
|
abstract T |
getNoOutput()
NOTE: this output is compared with == so you must
ensure that all methods return the single object if
it's really no output
|
T |
merge(T first,
T second) |
abstract String |
outputToString(T output) |
abstract T |
read(DataInput in) |
abstract T |
subtract(T output,
T inc)
Eg subtract("foobar", "foo") -> "bar"
|
abstract void |
write(T output,
DataOutput out) |
public abstract void write(T output, DataOutput out) throws IOException
IOException
public abstract T read(DataInput in) throws IOException
IOException
public abstract T getNoOutput()