org.fossilec.odettej.service
Class StreamTransmissionBuffer

java.lang.Object
  extended by org.fossilec.odettej.service.StreamTransmissionBuffer
All Implemented Interfaces:
java.io.Serializable

public class StreamTransmissionBuffer
extends java.lang.Object
implements java.io.Serializable

The reason of the Stream Transmission Buffer as in the specification is to encapsulate the Odette Exchange Buffer in an application level flow control.

Author:
Rafael Marins
See Also:
Serialized Form

Field Summary
static byte HEADER_LENGTH
          Stream Transmission Header has a fixed length at the beginning octets to each Stream Transmission Buffer.
 
Constructor Summary
StreamTransmissionBuffer(java.nio.ByteBuffer rawBuffer, boolean strictFormat)
          Constructor used to instantiate a new Stream Transmission Buffer from a raw exchange buffer coming through the transport service.
StreamTransmissionBuffer(OdetteExchangeBuffer exchangeBuffer)
          Constructor for enclosing an Odette Exchange Buffer into a Stream Transmission Buffer.
 
Method Summary
 java.nio.ByteBuffer[] getBuffers()
          Convenient method for returning both content buffer as an array.
 OdetteExchangeBuffer getExchangeBuffer()
          Return a Command Exchange Buffer or Data Exchange Buffer.
 java.nio.ByteBuffer getHeaderBuffer()
          Return the Stream Transmission Header buffer positioned at the first octet.
 int getLength()
          Return the Stream Transmission Buffer length.
protected  void setExchangeBuffer(OdetteExchangeBuffer exchangeBuffer)
          Set the Stream Transmission Buffer with a given Odette Exchange Buffer.
protected  void setHeaderBuffer(java.nio.ByteBuffer buffer)
          Set up the Stream Transmission Header from the buffer specified in the parameter.
protected  void setLength(int length)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HEADER_LENGTH

public static final byte HEADER_LENGTH
Stream Transmission Header has a fixed length at the beginning octets to each Stream Transmission Buffer.

See Also:
Constant Field Values
Constructor Detail

StreamTransmissionBuffer

public StreamTransmissionBuffer(OdetteExchangeBuffer exchangeBuffer)
Constructor for enclosing an Odette Exchange Buffer into a Stream Transmission Buffer.

Parameters:
exchangeBuffer - Odette Exchange Buffer.

StreamTransmissionBuffer

public StreamTransmissionBuffer(java.nio.ByteBuffer rawBuffer,
                                boolean strictFormat)
                         throws OdetteFTPException
Constructor used to instantiate a new Stream Transmission Buffer from a raw exchange buffer coming through the transport service.

Parameters:
rawBuffer - Buffer containing the header and exchange buffer.
Throws:
OdetteFTPException
BufferCorruptedException - If there is any difference between the exchange buffer length specified in the Stream Transmission Buffer header and the expected command size, or exceeding the range limit.
Method Detail

setHeaderBuffer

protected void setHeaderBuffer(java.nio.ByteBuffer buffer)
Set up the Stream Transmission Header from the buffer specified in the parameter. The buffer parameter is not distinguished between raw exchange buffer or header buffer. Buffer is read from it first octet, and positioned at the end of header octets after the operation.

Parameters:
buffer - A buffer that contains header octets at the beginning.

getHeaderBuffer

public java.nio.ByteBuffer getHeaderBuffer()
Return the Stream Transmission Header buffer positioned at the first octet.

Returns:
ByteBuffer

getLength

public int getLength()
Return the Stream Transmission Buffer length. When the instance is initialized with the raw exchange buffer, this value is extracted from the buffer header length field.

Returns:
int Stream Transmission Buffer length.

setLength

protected void setLength(int length)

getBuffers

public java.nio.ByteBuffer[] getBuffers()
Convenient method for returning both content buffer as an array.

Returns:
ByteBuffer[] Stream Transmission Header and the Odette Exchange Buffer.

getExchangeBuffer

public OdetteExchangeBuffer getExchangeBuffer()
Return a Command Exchange Buffer or Data Exchange Buffer.

Returns:
ExchangeBuffer

setExchangeBuffer

protected void setExchangeBuffer(OdetteExchangeBuffer exchangeBuffer)
Set the Stream Transmission Buffer with a given Odette Exchange Buffer.

Parameters:
exchangeBuffer - Odette Exchange Buffer.


Copyright © 2005 ObjectWeb Consortium. All Rights Reserved.