Class SingleBound<T extends Number>
- java.lang.Object
-
- org.opentrafficsim.base.parameters.constraint.SingleBound<T>
-
- Type Parameters:
T
- value type
- All Implemented Interfaces:
Constraint<T>
- Direct Known Subclasses:
DualBound
public class SingleBound<T extends Number> extends Object implements Constraint<T>
Continuous constraints with a single bound. To allow bothDouble
andAbstractDoubleScalar<?, ?>
constraints, the generic type is restricted toNumber
. However, that also allows other subclasses ofNumber
, e.g.Integer
. Due to rounding and value limits from the type (e.g.Integer.MAX_VALEU
), bounds may not function correctly after a call toNumber.doubleValue()
. To restrict the usage, the constructor is private and static factory methods forDouble
andAbstractDoubleScalar<?, ?>
are supplied.Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version Aug 14, 2017
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
accept(T value)
Checks whether the value complies with constraints.String
failMessage()
Returns a message for value failure, pointing to a parameter using '%s'.org.opentrafficsim.base.parameters.constraint.SingleBound.Bound
getBound()
static SingleBound<Double>
lowerExclusive(double bound)
Creates a lower exclusive bound;value > bound
.static <T extends AbstractDoubleScalar<?,?>>
SingleBound<T>lowerExclusive(T bound)
Creates a lower exclusive bound;value > bound
.static SingleBound<Double>
lowerInclusive(double bound)
Creates a lower inclusive bound;value >= bound
.static <T extends AbstractDoubleScalar<?,?>>
SingleBound<T>lowerInclusive(T bound)
Creates a lower inclusive bound;value >= bound
.String
toString()
static SingleBound<Double>
upperExclusive(double bound)
Creates an upper exclusive bound;value < bound
.static <T extends AbstractDoubleScalar<?,?>>
SingleBound<T>upperExclusive(T bound)
Creates an upper exclusive bound;value < bound
.static SingleBound<Double>
upperInclusive(double bound)
Creates an upper inclusive bound;value <= bound
.static <T extends AbstractDoubleScalar<?,?>>
SingleBound<T>upperInclusive(T bound)
Creates an upper inclusive bound;value <= bound
.
-
-
-
Method Detail
-
lowerInclusive
public static final SingleBound<Double> lowerInclusive(double bound)
Creates a lower inclusive bound;value >= bound
.- Parameters:
bound
- double; bound value- Returns:
- lower inclusive bound
-
lowerInclusive
public static final <T extends AbstractDoubleScalar<?,?>> SingleBound<T> lowerInclusive(T bound)
Creates a lower inclusive bound;value >= bound
.- Type Parameters:
T
- value type- Parameters:
bound
- T; bound value- Returns:
- lower inclusive bound
-
lowerExclusive
public static final SingleBound<Double> lowerExclusive(double bound)
Creates a lower exclusive bound;value > bound
.- Parameters:
bound
- double; bound value- Returns:
- lower exclusive bound
-
lowerExclusive
public static final <T extends AbstractDoubleScalar<?,?>> SingleBound<T> lowerExclusive(T bound)
Creates a lower exclusive bound;value > bound
.- Type Parameters:
T
- value type- Parameters:
bound
- T; bound value- Returns:
- lower exclusive bound
-
upperInclusive
public static final SingleBound<Double> upperInclusive(double bound)
Creates an upper inclusive bound;value <= bound
.- Parameters:
bound
- double; bound value- Returns:
- upper inclusive bound
-
upperInclusive
public static final <T extends AbstractDoubleScalar<?,?>> SingleBound<T> upperInclusive(T bound)
Creates an upper inclusive bound;value <= bound
.- Type Parameters:
T
- value type- Parameters:
bound
- T; bound value- Returns:
- upper inclusive bound
-
upperExclusive
public static final SingleBound<Double> upperExclusive(double bound)
Creates an upper exclusive bound;value < bound
.- Parameters:
bound
- double; bound value- Returns:
- upper exclusive bound
-
upperExclusive
public static final <T extends AbstractDoubleScalar<?,?>> SingleBound<T> upperExclusive(T bound)
Creates an upper exclusive bound;value < bound
.- Type Parameters:
T
- value type- Parameters:
bound
- T; bound value- Returns:
- upper exclusive bound
-
accept
public boolean accept(T value)
Checks whether the value complies with constraints.- Specified by:
accept
in interfaceConstraint<T extends Number>
- Parameters:
value
- T; Value to check.- Returns:
- Whether the value complies with constraints.
-
failMessage
public String failMessage()
Returns a message for value failure, pointing to a parameter using '%s'.- Specified by:
failMessage
in interfaceConstraint<T extends Number>
- Returns:
- Message for value failure, pointing to a parameter using '%s'.
-
getBound
public org.opentrafficsim.base.parameters.constraint.SingleBound.Bound getBound()
- Returns:
- bound.
-
-