Package org.djutils.eval
Class F0
java.lang.Object
org.djutils.eval.F0
- All Implemented Interfaces:
org.djutils.base.Identifiable
,Function
F0.java. Minimal implementation of zero-argument Function with description.
Copyright (c) 2023-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html.
- Author:
- Peter Knoppers
-
Nested Class Summary
Modifier and TypeClassDescription(package private) static interface
Interface for zero argument functions. -
Field Summary
Modifier and TypeFieldDescription(package private) final F0.ZeroArgumentFunction
The zero argument function.(package private) final String
Id of the function.(package private) final org.djutils.metadata.MetaData
Type of the parameters of this function (also contains name and description).(package private) final Class<?>
Type of the result of this function. -
Constructor Summary
ConstructorDescriptionF0
(String id, Class<?> resultClass, org.djutils.metadata.MetaData metaData, F0.ZeroArgumentFunction f0) Construct a new zero argument function.Construct a new zero-argument function with constant result. -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.djutils.eval.Function
getDescription, getName
-
Field Details
-
id
Id of the function. -
metaData
final org.djutils.metadata.MetaData metaDataType of the parameters of this function (also contains name and description). -
resultClass
Type of the result of this function. -
f0
The zero argument function.
-
-
Constructor Details
-
F0
F0(String id, Class<?> resultClass, org.djutils.metadata.MetaData metaData, F0.ZeroArgumentFunction f0) Construct a new zero argument function.- Parameters:
id
- String; name of the function as it must be written in expressionsresultClass
- Class<?>; the type of the result of the functionmetaData
- MetaData; meta data of the functionf0
- ZeroArgumentFunction; zero argument function
-
F0
Construct a new zero-argument function with constant result.- Parameters:
id
- String; name of the function as it must be written in expressionsconstantResult
- Object; the result of the zero argument functionmetaData
- MetaData; meta data of the function
-
-
Method Details
-
getId
- Specified by:
getId
in interfaceorg.djutils.base.Identifiable
-
getMetaData
public org.djutils.metadata.MetaData getMetaData()Description copied from interface:Function
Specifies the types of the arguments expected by the function.- Specified by:
getMetaData
in interfaceFunction
- Returns:
- MetaData; specification of the arguments expected by the function
-
function
Description copied from interface:Function
The function itself.- Specified by:
function
in interfaceFunction
- Parameters:
arguments
- Object[]; the arguments of the function- Returns:
- Object; the result of the function (must currently be either some type of DoubleScalar or Boolean).
- Throws:
RuntimeException
- thrown when the function is unable to produce a result
-