Ice.BooleanOptional Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ice-compat Show documentation
Show all versions of ice-compat 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;
}