summaryrefslogtreecommitdiff
path: root/java/src/Ice/ObjectImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/Ice/ObjectImpl.java')
-rw-r--r--java/src/Ice/ObjectImpl.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/java/src/Ice/ObjectImpl.java b/java/src/Ice/ObjectImpl.java
index f2ee108265f..d18e0c4502c 100644
--- a/java/src/Ice/ObjectImpl.java
+++ b/java/src/Ice/ObjectImpl.java
@@ -232,4 +232,37 @@ public abstract class ObjectImpl implements Object, java.lang.Cloneable
__inS.endSlice();
}
+
+ private static String
+ operationModeToString(OperationMode mode)
+ {
+ if(mode == Ice.OperationMode.Normal)
+ {
+ return "::Ice::Normal";
+ }
+ if(mode == Ice.OperationMode.Nonmutating)
+ {
+ return "::Ice::Nonmutating";
+ }
+
+ if(mode == Ice.OperationMode.Idempotent)
+ {
+ return "::Ice::Idempotent";
+ }
+
+ return "???";
+ }
+
+ protected static void
+ __checkMode(OperationMode expected, OperationMode received)
+ {
+ if(expected != received)
+ {
+ Ice.MarshalException ex = new Ice.MarshalException();
+ ex.reason = "unexpected operation mode. expected = "
+ + operationModeToString(expected) + " received = "
+ + operationModeToString(received);
+ throw ex;
+ }
+ }
}