-
Notifications
You must be signed in to change notification settings - Fork 1
JEval is the advanced library for adding mathematical, string, Boolean and functional expression parsing and evaluation to your Java applications.
License
greek1979/jeval
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
JEval, release 0.9.8 beta (September 2025) https://greek1979.github.io/jeval/ ---------------------------------------------- 1. INTRODUCTION JEval is the advanced library for adding mathematical, String, Boolean and functional expression parsing and evaluation to your Java applications. Custom expression variables and plug-in functions are supported as well. Key Features of JEval library: * Parses and evaluates dynamic and static expressions at run time * A great solution for filtering data at runtime * Supports mathematical, Boolean, String and functional expressions * Supports all major mathematical and Boolean operators * Supports custom functions * 47 Math and String functions built in and ready to use * Supports nested functions * Supports variables * Allows for custom variable resolver * No reparsing of expressions when variables change * No dependencies to other non-standard Java libraries * JUnit tests * Compatible with Java 8 (J2SE 1.8) and above With some code review and minimum changes, the library can run on Java 7 (J2SE 1.7 and compatible runtimes) as well, although this is not something generally advised. But hey, if there is a need, it can be made to function. 2. RELEASE INFO JEval requires Java 8 and above. This release was tested using jdk 1.8.0_221 running in Java 8 compatibility mode. Release contents: * "src/main" contains the Java source files for the project * "src/test" contains the Java source files for the project's test suite * "dist" contains the project distribution jar files * "lib" contains all third-party libraries needed for running the samples and building the framework * "docs" contains general documentation and API Javadocs * "samples" contains demo applications Ant build scripts for the project and the samples are provided. The standard samples can be built with the included Ant runtime by invoking the corresponding "ant-build.bat" files (see samples subdirectories). Ant build generates the "dist" and "docs" directories. Apache Maven build profile is also provided here, and the project can be built, packaged, and deployed to local repository with relevant Maven commands. The JEval project is released under the terms of the Apache Software License (see LICENSE). All libraries included in the "lib" directory are subject to their respective licenses. Old project site at SourceForge ( http://sourceforge.net/projects/jeval/ ) has been deprecated and removed. JEval is superceded by mXparser library for math expressions only, while this source is provided for backward compatibility and to assist in possible troubleshooting of existing applications. 3. DISTRIBUTION JAR FILES The "dist" directory contains the following distinct jar files for use in applications. * "JEval" (~86 KB) - Contents: JEval API 4. WHERE TO START? Documentation can be found in the "docs" directory: * JEval Javadoc - see Evaluator class for implementation details Documented sample applications can be found in "samples": * Boolean operations * Custom functions * Looping with variables * Mathematical functions * Mathematical operations * Nested functions * String functions * String operations * Variables 5. THREAD SAFETY NOTICE The main Evaluator class is a non-reentrant, not-thread-safe implementation. For every expression to parse and evaluate, a dedicated instance of Evaluator MUST BE instantiated OR an existing instance can be reused, assuming it is not longer used by the previous caller. Keeping multiple Evaluator instances in the shared object pool should be fine, as long as each instance is used by a single execution thread. 6. AUTHORS AND CONTRIBUTORS Original version of JEval was developed and published by Rob Breidecker (please contact him at [email protected] for details) and released under the terms of the Apache License 2.0. The last version available in Maven Central artifacts repo is 0.9.4 from 2011. Afterwards, project was hibernated and subsequently, removed.
About
JEval is the advanced library for adding mathematical, string, Boolean and functional expression parsing and evaluation to your Java applications.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published