Interface DynamicMethodMarshaller
- All Known Implementing Classes:
DynamicMethodMarshallerImpl
public interface DynamicMethodMarshaller
Used to read and write arguments and results for a particular method.
-
Method Summary
Modifier and TypeMethodDescriptionObject[]
copyArguments
(Object[] args, ORB orb) Copy the arguments as needed for this particular method.copyResult
(Object result, ORB orb) Copy the result as needed for this particular method.Returns the method used to create this DynamicMethodMarshaller.boolean
Returns true iff thr's class is a declared exception (or a subclass of a declared exception) for this DynamicMethodMarshaller's method.Object[]
Read the arguments for this method from the InputStream.Reads an exception ID and the corresponding exception from the input stream.Read the result from the InputStream.void
writeArguments
(OutputStream os, Object[] args) Write arguments for this method to the OutputStream.void
writeException
(OutputStream os, Exception ex) Write the repository ID of the exception and the value of the exception to the OutputStream.void
writeResult
(OutputStream os, Object result) Write the result to the OutputStream.
-
Method Details
-
getMethod
Method getMethod()Returns the method used to create this DynamicMethodMarshaller.- Returns:
- the method used
-
copyArguments
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 copyorb
- ORB to use- Returns:
- a copy of the arguments
- Throws:
RemoteException
- if there is a remote error
-
readArguments
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
Write arguments for this method to the OutputStream. Does nothing if there are no arguments.- Parameters:
os
- stream to write toargs
- arguments to write
-
copyResult
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 copyorb
- ORB to use for copying- Returns:
- copied object
- Throws:
RemoteException
- if there is an error with the ORB
-
readResult
Read the result from the InputStream. Returns null if the result type is null.- Parameters:
is
- stream to read from- Returns:
- result
-
writeResult
Write the result to the OutputStream. Does nothing if the result type is null.- Parameters:
os
- stream to write toresult
- result to write to stream
-
isDeclaredException
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
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 toex
- exception to write
-
readException
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
-