Ice.BooleanOptional Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ice Show documentation
Show all versions of ice Show documentation
Ice is a comprehensive RPC framework that helps you build distributed applications with minimal effort using familiar object-oriented idioms
// **********************************************************************
//
// Copyright (c) 2003-2018 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 boolean parameter.
**/
public class BooleanOptional
{
/**
* The value defaults to unset.
**/
public BooleanOptional()
{
_isSet = false;
}
/**
* Sets the value to the given argument.
*
* @param v The initial value.
**/
public BooleanOptional(boolean v)
{
_value = v;
_isSet = true;
}
/**
* Sets the value to a shallow copy of the given optional.
*
* @param opt The source value.
**/
public BooleanOptional(BooleanOptional opt)
{
_value = opt._value;
_isSet = opt._isSet;
}
/**
* Obtains the current value.
*
* @return The current value.
* @throws IllegalStateException If the value is not set.
**/
public boolean 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(boolean 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(BooleanOptional 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 = false;
}
private boolean _value;
private boolean _isSet;
}