diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/Object.java | 4 | ||||
-rw-r--r-- | java/src/Ice/ObjectImpl.java | 40 | ||||
-rw-r--r-- | java/src/Ice/UserException.java | 54 |
3 files changed, 73 insertions, 25 deletions
diff --git a/java/src/Ice/Object.java b/java/src/Ice/Object.java index 20184f6657f..126c61cc0c1 100644 --- a/java/src/Ice/Object.java +++ b/java/src/Ice/Object.java @@ -158,10 +158,8 @@ public interface Object DispatchStatus __collocDispatch(IceInternal.Direct request); void __write(IceInternal.BasicStream __os); - void __writeImpl(IceInternal.BasicStream __os); void __read(IceInternal.BasicStream __is); - void __readImpl(IceInternal.BasicStream __is); - + void __write(OutputStream __outS); void __read(InputStream __inS); } diff --git a/java/src/Ice/ObjectImpl.java b/java/src/Ice/ObjectImpl.java index a1e0fb5c7a4..44a74e03bf1 100644 --- a/java/src/Ice/ObjectImpl.java +++ b/java/src/Ice/ObjectImpl.java @@ -351,33 +351,57 @@ public abstract class ObjectImpl implements Object, java.lang.Cloneable, java.io } public void - __write(IceInternal.BasicStream __os) + __write(IceInternal.BasicStream os) { + os.startWriteObject(null); + __writeImpl(os); + os.endWriteObject(); } public void - __writeImpl(IceInternal.BasicStream __os) + __read(IceInternal.BasicStream is) { + is.startReadObject(); + __readImpl(is); + is.endReadObject(false); } public void - __read(IceInternal.BasicStream __is) + __write(OutputStream os) { + os.startObject(null); + __writeImpl(os); + os.endObject(); } public void - __readImpl(IceInternal.BasicStream __is) + __read(InputStream is) { + is.startObject(); + __readImpl(is); + is.endObject(false); } - public void - __write(Ice.OutputStream __outS) + protected void + __writeImpl(IceInternal.BasicStream os) { } - public void - __read(Ice.InputStream __inS) + protected void + __readImpl(IceInternal.BasicStream is) + { + } + + protected void + __writeImpl(OutputStream os) + { + throw new MarshalException("class was not generated with stream support"); + } + + protected void + __readImpl(InputStream is) { + throw new MarshalException("class was not generated with stream support"); } private static String diff --git a/java/src/Ice/UserException.java b/java/src/Ice/UserException.java index 6beea1ed671..b7d46c40903 100644 --- a/java/src/Ice/UserException.java +++ b/java/src/Ice/UserException.java @@ -69,27 +69,53 @@ public abstract class UserException extends Exception implements Cloneable return sw.toString(); } - public abstract void - __write(IceInternal.BasicStream __os); - - public abstract void - __writeImpl(IceInternal.BasicStream __os); - - public abstract void - __read(IceInternal.BasicStream __is); + public void + __write(IceInternal.BasicStream os) + { + os.startWriteException(null); + __writeImpl(os); + os.endWriteException(); + } - public abstract void - __readImpl(IceInternal.BasicStream __is); + public void + __read(IceInternal.BasicStream is) + { + is.startReadException(); + __readImpl(is); + is.endReadException(false); + } public void - __write(Ice.OutputStream __outS) + __write(Ice.OutputStream os) { - assert(false); + os.startException(null); + __writeImpl(os); + os.endException(); } public void - __read(Ice.InputStream __inS) + __read(Ice.InputStream is) + { + is.startException(); + __readImpl(is); + is.endException(false); + } + + protected abstract void + __writeImpl(IceInternal.BasicStream os); + + protected abstract void + __readImpl(IceInternal.BasicStream is); + + protected void + __writeImpl(OutputStream os) + { + throw new MarshalException("exception was not generated with stream support"); + } + + protected void + __readImpl(InputStream is) { - assert(false); + throw new MarshalException("exception was not generated with stream support"); } } |