diff options
author | Mark Spruiell <mes@zeroc.com> | 2012-07-27 16:04:43 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2012-07-27 16:04:43 -0700 |
commit | 038a4b832342ccf710d7d57bad1d10c7b36af022 (patch) | |
tree | 01a1b287852cfcd1750a401e7be030c8f5e5a6b7 /java/src/Ice/ByteOptional.java | |
parent | adding more Java optional tests (diff) | |
download | ice-038a4b832342ccf710d7d57bad1d10c7b36af022.tar.bz2 ice-038a4b832342ccf710d7d57bad1d10c7b36af022.tar.xz ice-038a4b832342ccf710d7d57bad1d10c7b36af022.zip |
updating Java API
Diffstat (limited to 'java/src/Ice/ByteOptional.java')
-rw-r--r-- | java/src/Ice/ByteOptional.java | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/java/src/Ice/ByteOptional.java b/java/src/Ice/ByteOptional.java new file mode 100644 index 00000000000..4430f634ffc --- /dev/null +++ b/java/src/Ice/ByteOptional.java @@ -0,0 +1,106 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +package Ice; + +/** + * Manages an optional byte parameter. + **/ +public class ByteOptional +{ + /** + * The value defaults to unset. + **/ + public ByteOptional() + { + _isSet = false; + } + + /** + * Sets the value to the given argument. + * + * @param v The initial value. + **/ + public ByteOptional(byte v) + { + _value = v; + _isSet = true; + } + + /** + * Sets the value to a shallow copy of the given optional. + * + * @param opt The source value. + **/ + public ByteOptional(ByteOptional opt) + { + _value = opt._value; + _isSet = opt._isSet; + } + + /** + * Obtains the current value. + * + * @return The current value. + * @throws IllegalStateException If the value is not set. + **/ + public byte get() + { + if(!_isSet) + { + throw new IllegalStateException("no value is set"); + } + return _value; + } + + /** + * Sets the value to the given argument. + * + * @param v The new value. + **/ + public void set(byte v) + { + _value = v; + _isSet = true; + } + + /** + * If the given argument is set, this optional is set to a shallow copy of the argument, + * otherwise this optional is unset. + * + * @param opt The source value. + **/ + public void set(ByteOptional opt) + { + _value = opt._value; + _isSet = opt._isSet; + } + + /** + * Determines whether the value is set. + * + * @return True if the value is set, false otherwise. + **/ + public boolean isSet() + { + return _isSet; + } + + /** + * Unsets this value. + **/ + public void clear() + { + _isSet = false; + _value = 0; + } + + private byte _value; + private boolean _isSet; +} |