ValueHandler (Java Platform SE 8 )
Keywords: javax.rmi.CORBA.ValueHandler interface
Date: 2026-04-17

javax.rmi.CORBA

## Interface ValueHandler

- All Known Subinterfaces:
    ValueHandlerMultiFormat

      public interface ValueHandler

  Defines methods which allow serialization of Java objects to and from GIOP streams.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getRMIRepositoryID(Class clz)` Returns the CORBA RepositoryId for the given Java class.
    `RunTime` | `getRunTimeCodeBase()` Returns the CodeBase for this ValueHandler.
    `boolean` | `isCustomMarshaled(Class clz)` Indicates whether the given class performs custom or default marshaling.
    `Serializable` | `readValue(InputStream in, int offset, Class clz, String repositoryID, RunTime sender)` Reads a value from the stream using Java semantics.
    `Serializable` | `writeReplace(Serializable value)` If the value contains a `writeReplace` method then the result is returned.
    `void` | `writeValue(OutputStream out, Serializable value)` Writes a value to the stream using Java semantics.

- - ### Method Detail

    - #### writeValue

          void writeValue(OutputStream out,
                          Serializable value)

      Writes a value to the stream using Java semantics.
      Parameters:
        `out` - the stream to write the value to.
        `value` - the value to be written to the stream.

    - #### readValue

          Serializable readValue(InputStream in,
                                 int offset,
                                 Class clz,
                                 String repositoryID,
                                 RunTime sender)

      Reads a value from the stream using Java semantics.
      Parameters:
        `in` - the stream to read the value from.
        `offset` - the current position in the input stream.
        `clz` - the type of the value to be read in.
        `repositoryID` - the RepositoryId of the value to be read in.
        `sender` - the sending context runtime codebase.
      Returns:
        the value read from the stream.

    - #### getRMIRepositoryID

          String getRMIRepositoryID(Class clz)

      Returns the CORBA RepositoryId for the given Java class.
      Parameters:
        `clz` - a Java class.
      Returns:
        the CORBA RepositoryId for the class.

    - #### isCustomMarshaled

          boolean isCustomMarshaled(Class clz)

      Indicates whether the given class performs custom or default marshaling.
      Parameters:
        `clz` - the class to test for custom marshaling.
      Returns:
        `true` if the class performs custom marshaling, `false` if it does not.

    - #### getRunTimeCodeBase

          RunTime getRunTimeCodeBase()

      Returns the CodeBase for this ValueHandler. This is used by the ORB runtime. The server sends the service context containing the IOR for this CodeBase on the first GIOP reply. The client does the same on the first GIOP request.
      Returns:
        the SendingContext.CodeBase of this ValueHandler.

    - #### writeReplace

          Serializable writeReplace(Serializable value)

      If the value contains a `writeReplace` method then the result is returned. Otherwise, the value itself is returned.
      Parameters:
        `value` - the value to be marshaled.
      Returns:
        the true value to marshal on the wire.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.