org.acplt.oncrpc
Class XdrDynamicOpaque

java.lang.Object
  extended by org.acplt.oncrpc.XdrDynamicOpaque
All Implemented Interfaces:
XdrAble

public class XdrDynamicOpaque
extends java.lang.Object
implements XdrAble

Instances of the class XdrDynamicOpaque represent (de-)serializeable dynamic-size opaque values, which are especially useful in cases where a result with only a single opaque value is expected from a remote function call or only a single opaque value parameter needs to be supplied.

Please note that this class is somewhat modelled after Java's primitive data type wrappers. As for these classes, the XDR data type wrapper classes follow the concept of values with no identity, so you are not allowed to change the value after you've created a value object.


Field Summary
private  byte[] value
          The encapsulated opaque value itself.
 
Constructor Summary
XdrDynamicOpaque()
          Constructs and initializes a new XdrDynamicOpaque object.
XdrDynamicOpaque(byte[] value)
          Constructs and initializes a new XdrDynamicOpaque object.
 
Method Summary
 byte[] dynamicOpaqueValue()
          Returns the value of this XdrDynamicOpaque object as a byte vector.
 void xdrDecode(XdrDecodingStream xdr)
          Decodes -- that is: deserializes -- a XDR opaque from a XDR stream in compliance to RFC 1832.
 void xdrEncode(XdrEncodingStream xdr)
          Encodes -- that is: serializes -- a XDR opaque into a XDR stream in compliance to RFC 1832.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

value

private byte[] value
The encapsulated opaque value itself.

Constructor Detail

XdrDynamicOpaque

public XdrDynamicOpaque()
Constructs and initializes a new XdrDynamicOpaque object.


XdrDynamicOpaque

public XdrDynamicOpaque(byte[] value)
Constructs and initializes a new XdrDynamicOpaque object.

Method Detail

dynamicOpaqueValue

public byte[] dynamicOpaqueValue()
Returns the value of this XdrDynamicOpaque object as a byte vector.

Returns:
The primitive byte[] value of this object.

xdrEncode

public void xdrEncode(XdrEncodingStream xdr)
               throws OncRpcException,
                      java.io.IOException
Encodes -- that is: serializes -- a XDR opaque into a XDR stream in compliance to RFC 1832.

Specified by:
xdrEncode in interface XdrAble
Parameters:
xdr - XDR stream to which information is sent for encoding.
Throws:
OncRpcException - if an ONC/RPC error occurs.
java.io.IOException - if an I/O error occurs.

xdrDecode

public void xdrDecode(XdrDecodingStream xdr)
               throws OncRpcException,
                      java.io.IOException
Decodes -- that is: deserializes -- a XDR opaque from a XDR stream in compliance to RFC 1832.

Specified by:
xdrDecode in interface XdrAble
Parameters:
xdr - XDR stream from which decoded information is retrieved.
Throws:
OncRpcException - if an ONC/RPC error occurs.
java.io.IOException - if an I/O error occurs.