Ice.DoubleOptional 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 double parameter.
**/
public class DoubleOptional
{
/**
* The value defaults to unset.
**/
public DoubleOptional()
{
_isSet = false;
}
/**
* Sets the value to the given argument.
*
* @param v The initial value.
**/
public DoubleOptional(double v)
{
_value = v;
_isSet = true;
}
/**
* Sets the value to a shallow copy of the given optional.
*
* @param opt The source value.
**/
public DoubleOptional(DoubleOptional opt)
{
_value = opt._value;
_isSet = opt._isSet;
}
/**
* Obtains the current value.
*
* @return The current value.
* @throws IllegalStateException If the value is not set.
**/
public double 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(double 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(DoubleOptional 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 double _value;
private boolean _isSet;
}