Interface DynamicMethodMarshaller

All Known Implementing Classes:
DynamicMethodMarshallerImpl

public interface DynamicMethodMarshaller
Used to read and write arguments and results for a particular method.
  • Method Details

    • getMethod

      Method getMethod()
      Returns the method used to create this DynamicMethodMarshaller.
      Returns:
      the method used
    • copyArguments

      Object[] copyArguments(Object[] args, ORB orb) throws RemoteException
      Copy the arguments as needed for this particular method. Can be optimized so that as little copying as possible is performed.
      Parameters:
      args - arguments to copy
      orb - ORB to use
      Returns:
      a copy of the arguments
      Throws:
      RemoteException - if there is a remote error
    • readArguments

      Object[] readArguments(InputStream is)
      Read the arguments for this method from the InputStream. Returns null if there are no arguments.
      Parameters:
      is - stream to read arguments from
      Returns:
      array of arguments
    • writeArguments

      void writeArguments(OutputStream os, Object[] args)
      Write arguments for this method to the OutputStream. Does nothing if there are no arguments.
      Parameters:
      os - stream to write to
      args - arguments to write
    • copyResult

      Object copyResult(Object result, ORB orb) throws RemoteException
      Copy the result as needed for this particular method. Can be optimized so that as little copying as possible is performed.
      Parameters:
      result - Object to copy
      orb - ORB to use for copying
      Returns:
      copied object
      Throws:
      RemoteException - if there is an error with the ORB
    • readResult

      Object readResult(InputStream is)
      Read the result from the InputStream. Returns null if the result type is null.
      Parameters:
      is - stream to read from
      Returns:
      result
    • writeResult

      void writeResult(OutputStream os, Object result)
      Write the result to the OutputStream. Does nothing if the result type is null.
      Parameters:
      os - stream to write to
      result - result to write to stream
    • isDeclaredException

      boolean isDeclaredException(Throwable thr)
      Returns true iff thr's class is a declared exception (or a subclass of a declared exception) for this DynamicMethodMarshaller's method.
      Parameters:
      thr - throwable to checl
      Returns:
      if it is a declared (non-runtime) exception
    • writeException

      void writeException(OutputStream os, Exception ex)
      Write the repository ID of the exception and the value of the exception to the OutputStream. ex should be a declared exception for this DynamicMethodMarshaller's method.
      Parameters:
      os - stream to write to
      ex - exception to write
    • readException

      Exception readException(ApplicationException ae)
      Reads an exception ID and the corresponding exception from the input stream. This should be an exception declared in this method.
      Parameters:
      ae - id of exception to read
      Returns:
      read exception