Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.omg.IOP
Interface CodecOperations

All Known Subinterfaces:
  Codec

    public interface CodecOperations

The formats of IOR components and service context data used by ORB services are often defined as CDR encapsulations encoding instances of IDL defined data types. The `Codec` provides a mechanism to transfer these components between their IDL data types and their CDR encapsulation representations.

A `Codec` is obtained from the `CodecFactory`. The `CodecFactory` is obtained through a call to `ORB.resolve_initial_references( "CodecFactory" )`.

Method Summary
`Any` | `decode_value(byte[] data, TypeCode tc)` Decodes the given byte array into an Any based on the given `TypeCode` and the encoding format effective for this `Codec`.
`Any` | `decode(byte[] data)` Decodes the given byte array into an Any based on the encoding format effective for this `Codec`.
`byte[]` | `encode_value(Any data)` Converts the given any into a byte array based on the encoding format effective for this Codec.
`byte[]` | `encode(Any data)` Converts the given any into a byte array based on the encoding format effective for this `Codec`.

Method Detail

### encode

    byte[] encode(Any data)
                  throws InvalidTypeForEncoding

  Converts the given any into a byte array based on the encoding format effective for this `Codec`.

  Parameters:
    `data` - The data, in the form of an any, to be encoded into a byte array.
  Returns:
    A byte array containing the encoded Any. This byte array contains both the `TypeCode` and the data of the type.
  Throws:
    `InvalidTypeForEncoding` - thrown if the type is not valid for the encoding format effective for this `Codec`.

### decode

    Any decode(byte[] data)
               throws FormatMismatch

  Decodes the given byte array into an Any based on the encoding format effective for this `Codec`.

  Parameters:
    `data` - The data, in the form of a byte array, to be decoded into an Any.
  Returns:
    An Any containing the data from the decoded byte array.
  Throws:
    `FormatMismatch` - is thrown if the byte array cannot be decoded into an Any.

### encode_value

    byte[] encode_value(Any data)
                        throws InvalidTypeForEncoding

  Converts the given any into a byte array based on the encoding format effective for this Codec. Only the data from the Any is encoded, not the `TypeCode`.

  Parameters:
    `data` - The data, in the form of an Any, to be encoded into a byte array.
  Returns:
    A byte array containing the data from the encoded any.
  Throws:
    `InvalidTypeForEncoding` - thrown if the type is not valid for the encoding format effective for this `Codec`.

### decode_value

    Any decode_value(byte[] data,
                     TypeCode tc)
                     throws FormatMismatch,
                            TypeMismatch

  Decodes the given byte array into an Any based on the given `TypeCode` and the encoding format effective for this `Codec`.

  Parameters:
    `data` - The data, in the form of a byte array, to be decoded into an Any.
    `tc` - The TypeCode to be used to decode the data.
  Returns:
    An Any containing the data from the decoded byte array.
  Throws:
    `FormatMismatch` - thrown if the byte array cannot be decoded into an Any.
    `TypeMismatch`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.