Class SingleBound<T extends java.lang.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 java.lang.Number> extends java.lang.Object implements Constraint<T>
Continuous constraints with a single bound. To allow both
Double and AbstractDoubleScalar<?, ?> constraints,
the generic type is restricted to Number. However, that also allows other subclasses of Number, 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 to Number.doubleValue(). To restrict the usage, the constructor is private and static factory
methods for Double and AbstractDoubleScalar<?, ?> 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
Modifier and Type Method Description booleanaccept(T value)Checks whether the value complies with constraints.java.lang.StringfailMessage()Returns a message for value failure, pointing to a parameter using '%s'.org.opentrafficsim.base.parameters.constraint.SingleBound.BoundgetBound()static SingleBound<java.lang.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<java.lang.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.java.lang.StringtoString()static SingleBound<java.lang.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<java.lang.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 Details
-
lowerInclusive
Creates a lower inclusive bound;value >= bound.- Parameters:
bound- double; bound value- Returns:
- lower inclusive bound
-
lowerInclusive
Creates a lower inclusive bound;value >= bound.- Type Parameters:
T- value type- Parameters:
bound- T; bound value- Returns:
- lower inclusive bound
-
lowerExclusive
Creates a lower exclusive bound;value > bound.- Parameters:
bound- double; bound value- Returns:
- lower exclusive bound
-
lowerExclusive
Creates a lower exclusive bound;value > bound.- Type Parameters:
T- value type- Parameters:
bound- T; bound value- Returns:
- lower exclusive bound
-
upperInclusive
Creates an upper inclusive bound;value <= bound.- Parameters:
bound- double; bound value- Returns:
- upper inclusive bound
-
upperInclusive
Creates an upper inclusive bound;value <= bound.- Type Parameters:
T- value type- Parameters:
bound- T; bound value- Returns:
- upper inclusive bound
-
upperExclusive
Creates an upper exclusive bound;value < bound.- Parameters:
bound- double; bound value- Returns:
- upper exclusive bound
-
upperExclusive
Creates an upper exclusive bound;value < bound.- Type Parameters:
T- value type- Parameters:
bound- T; bound value- Returns:
- upper exclusive bound
-
accept
Checks whether the value complies with constraints.- Specified by:
acceptin interfaceConstraint<T extends java.lang.Number>- Parameters:
value- T; Value to check.- Returns:
- Whether the value complies with constraints.
-
failMessage
public java.lang.String failMessage()Returns a message for value failure, pointing to a parameter using '%s'.- Specified by:
failMessagein interfaceConstraint<T extends java.lang.Number>- Returns:
- Message for value failure, pointing to a parameter using '%s'.
-
getBound
public org.opentrafficsim.base.parameters.constraint.SingleBound.Bound getBound()- Returns:
- bound.
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-