For the latest news and information visit
The GNU Crypto project

gnu.crypto.sasl
Class InputBuffer

java.lang.Object
  extended bygnu.crypto.sasl.InputBuffer

public class InputBuffer
extends java.lang.Object

The implementation of an incoming SASL buffer.

Version:
$Revision: 1.2 $

Field Summary
protected  java.io.ByteArrayInputStream in
          The internal buffer stream containing the buffer's contents.
protected  int length
          The length of the buffer, according to its header.
 
Constructor Summary
InputBuffer(byte[] frame)
          Constructs a SASL buffer given the buffer's encoded form, including its header bytes.
 
Method Summary
static int fourBytesToLength(byte[] b)
          Converts four octets into the number that they represent.
 byte[] getEOS()
          Decodes a SASL EOS from the current buffer.
static InputBuffer getInstance(byte[] raw)
          Returns an instance of a SASL buffer given the buffer's encoded contents, excluding the buffer's header bytes.
static InputBuffer getInstance(byte[] raw, int offset, int len)
          Returns an instance of a SASL buffer given the buffer's encoded contents, excluding the buffer's header bytes.
 java.math.BigInteger getMPI()
          Decodes a SASL MPI from the current buffer.
 byte[] getOS()
          Decodes a SASL OS from the current buffer.
 long getScalar(int count)
          Decodes a SASL scalar quantity, count-octet long, from the current buffer.
 java.lang.String getText()
          Decodes a SASL Text from the current buffer.
 boolean hasMoreElements()
           
static int twoBytesToLength(byte[] b)
          Converts two octets into the number that they represent.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

in

protected java.io.ByteArrayInputStream in
The internal buffer stream containing the buffer's contents.


length

protected int length
The length of the buffer, according to its header.

Constructor Detail

InputBuffer

public InputBuffer(byte[] frame)
            throws SaslEncodingException

Constructs a SASL buffer given the buffer's encoded form, including its header bytes.

Parameters:
frame - the encoded form, including the header bytes, of a SASL buffer.
Throws:
SaslEncodingException - if the buffer is malformed.
Method Detail

getInstance

public static InputBuffer getInstance(byte[] raw)

Returns an instance of a SASL buffer given the buffer's encoded contents, excluding the buffer's header bytes.

Calls the method with the same name and three arguments as: getInstance(raw, 0, raw.length).

Parameters:
raw - the encoded form, excluding the header bytes, of a SASL buffer.
Returns:
a new instance of InputBuffer.

getInstance

public static InputBuffer getInstance(byte[] raw,
                                      int offset,
                                      int len)

Returns an instance of a SASL buffer given the buffer's encoded contents, excluding the buffer's header bytes.

Parameters:
raw - the encoded form, excluding the header bytes, of a SASL buffer.
offset - offset where to start using raw bytes from.
len - number of bytes to use.
Returns:
a new instance of InputBuffer.

fourBytesToLength

public static int fourBytesToLength(byte[] b)
                             throws SaslEncodingException

Converts four octets into the number that they represent.

Parameters:
b - the four octets.
Returns:
the length.
Throws:
SaslEncodingException

twoBytesToLength

public static int twoBytesToLength(byte[] b)
                            throws SaslEncodingException

Converts two octets into the number that they represent.

Parameters:
b - the two octets.
Returns:
the length.
Throws:
SaslEncodingException

hasMoreElements

public boolean hasMoreElements()

getScalar

public long getScalar(int count)
               throws java.io.IOException

Decodes a SASL scalar quantity, count-octet long, from the current buffer.

Parameters:
count - the number of octets of this scalar quantity.
Returns:
a native representation of a SASL scalar (unsigned integer) quantity.
Throws:
SaslEncodingException - if an encoding exception occurs during the operation.
java.io.IOException - if any other I/O exception occurs during the operation.

getOS

public byte[] getOS()
             throws java.io.IOException

Decodes a SASL OS from the current buffer.

Returns:
a native representation of a SASL OS.
Throws:
SaslEncodingException - if an encoding exception occurs during the operation.
java.io.IOException - if any other I/O exception occurs during the operation.

getEOS

public byte[] getEOS()
              throws java.io.IOException

Decodes a SASL EOS from the current buffer.

Returns:
a native representation of a SASL EOS.
Throws:
SaslEncodingException - if an encoding exception occurs during the operation.
java.io.IOException - if any other I/O exception occurs during the operation.

getMPI

public java.math.BigInteger getMPI()
                            throws java.io.IOException

Decodes a SASL MPI from the current buffer.

Returns:
a native representation of a SASL MPI.
Throws:
SaslEncodingException - if an encoding exception occurs during the operation.
java.io.IOException - if any other I/O exception occurs during the operation.

getText

public java.lang.String getText()
                         throws java.io.IOException

Decodes a SASL Text from the current buffer.

Returns:
a native representation of a SASL Text.
Throws:
SaslEncodingException - if an encoding exception occurs during the operation.
SaslEncodingException - if the UTF-8 character encoding is not supported on this platform.
java.io.IOException - if any other I/O exception occurs during the operation.

For the latest news and information visit
The GNU Crypto project

Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.