T
- The type of the productsEX
- The throwable type that produce()
may throw; use NoException
to indicate that produce()
does not declare any checked exceptionspublic interface ProducerWhichThrows<T,EX extends Throwable>
Producer
, but the produce()
method is permitted to throw a given exception.
When using this type in a variable, parameter or field declaration, never write:
ProducerWhichThrows<product-type, thrown-exception>
, but always:
ProducerWhichThrows<? extends product-type, ? extends thrown-exception>
Modifier and Type | Method and Description |
---|---|
T |
produce()
Produces the next instance of type
T , a so-called 'product'. |
String |
toString()
Returns a human-readable text which describes the origin of the previously produced element, e.g. file name,
line number and column number
|
@Nullable T produce() throws EX extends Throwable
T
, a so-called 'product'. A null
return value typically, but
not necessarily indicates 'end-of-input'.
Generally products should either be immutable, or the 'ownership' of the product should pass from the producer to the caller. Particularly, the producer should not return one (mutable) instance more than once.
Copyright © 2018 Arno Unkrig. All rights reserved.