A Transformer is an abstract representation of a two-way transformation that can be chained together with other instances of this type. Examples of such transformations in this library are:
Cascade
,
gnu.crypto.pad.IPad
, and finally
The special type LoopbackTransformer
is also available and
is implicitly (and silently) added to each instance of an Assembly.
A Transformer is characterized by the followings:
LoopbackTransformer
– is used to close
the chain.
To allow wiring Transformer instances together, a minimal output
size in bytes is necessary. The trivial case of a value of 1
for such attribute practically means that no output buffering, from the
previous element, is needed –which is independent of buffering the
input if the Transformer implementation itself is block-based.
This class exposes one class attribute and three Factory methods. They are:
The name of a property in the attributes map that is passed to the
init
method, representing the transformation's desired wiring direction. The mapped value should be a validDirection
value. If this attribute is omitted,Direction.FORWARD
is used.
Returns the designated cascade instance wrapped in an Adapter for use as a Transformer.
Returns the designated padding instance wrapped in an Adapter for use as a Transformer.
Returns a Transformer that underlies an implementation of the ZLib algorithm, able to deflate (compress) and inflate (decompress) data.
Concrete class instances of this abstract class, also expose the following instance methods:
Sets the operational mode of this Transformer to the designated mode value. Throws
IllegalStateException
if this instance has already been assigned an operational mode.
Returns
true
if this Transformer has been wired in pre-processing mode; returnsfalse
otherwise. Throws anIllegalStateException
if this instance has not yet been assigned an operational mode.
Returns
true
if this Transformer has been wired in post-processing mode; returnsfalse
otherwise. Throws anIllegalStateException
if this instance has not yet been assigned an operational mode.
Initializes the Transformer for operation with specific characteristics, indicated by the designated attributes. The latter being a set of name-value pairs that describes the desired future behavior of this instance. Throws an
IllegalStateException
if the instance is already initialized.
Returns the block-size of this Transformer. A value of
1
indicates that this instance is block-agnostic.
Resets the Transformer for re-initialization and use with other characteristics. This method always succeeds.
Convenience method that calls the method with same name and three arguments, using a byte array of length
1
whose contents are the designated byte b. Returns the result of transformation. Throws anIllegalStateException
if the instance is not yet initialized. Throws anTransformerException
if a transformation-related exception occurs during the operation.
Convenience method that calls the same method with three arguments. All bytes in in, starting from index position 0 are considered. Returns the result of transformation. Throws an
IllegalStateException
if the instance is not yet initialized. Throws aTransformerException
if a transformation-related exception occurs during the operation.
Returns the result of processing a designated length bytes from a given in byte array, starting at position offset. Throws an
IllegalStateException
if the instance is not yet initialized. Throws anTransformerException
if a transformation-related exception occurs during the operation.
Convenience method that calls the same method with three arguments. A zero-long byte array is used. Returns the result of transformation. Throws an
IllegalStateException
if the instance is not yet initialized. Throws anTransformerException
if a transformation-related exception occurs during the operation.
Convenience method that calls the method with same name and three arguments, using a byte array of length
1
whose contents are the designated byte b. Returns the result of transformation. Throws anIllegalStateException
if the instance is not yet initialized. Throws anTransformerException
if a transformation-related exception occurs during the operation.
Convenience method that calls the same method with three arguments. All bytes in in, starting from index position
0
are considered. Returns the result of transformation. Throws anIllegalStateException
if the instance is not yet initialized. Throws anTransformerException
if a transformation-related exception occurs during the operation.
Returns the result of processing a designated length bytes from the given in byte array, starting at index position offset and signals, at the same time, that this is the last push operation on this Transformer. Throws an
IllegalStateException
if the instance is not yet initialized. Throws anTransformerException
if a transformation-related exception occurs during the operation.