protected int engineUpdate (ByteBuffer input, ByteBuffer output) throws ShortBufferException

Continues a multiple-part encryption or decryption operation (depending on how this cipher was initialized), processing another data part.

All input.remaining() bytes starting at input.position() are processed. The result is stored in the output buffer. Upon return, the input buffer's position will be equal to its limit; its limit will not have changed. The output buffer's position will have advanced by n, where n is the value returned by this method; the output buffer's limit will not have changed.

If output.remaining() bytes are insufficient to hold the result, a ShortBufferException is thrown.

Subclasses should consider overriding this method if they can process ByteBuffers more efficiently than byte arrays.

Parameters:
input    the input ByteBuffer
output    the output ByteByffer

Returns:  the number of bytes stored in output

Exceptions:
ShortBufferException    if there is insufficient space in the output buffer
NullPointerException    if either parameter is null

Since:  1.5