- JavaDoc

# Jep Java

- Introduction
- Basic Usage
- Variables
- Data types
- Operators
- Functions
- Custom Functions
- BigDecimal
- Modules
- Printing
- FAQ
- Migration
- Version History

# Advanced Features

- Manipulating Expressions
- Components
- Configurable Parser
- Serialization
- Threads
- Localization
- Grammar
- Other advanced features
- Use of Design Patterns in Jep

# Java Modules

A version of Jep split into Java Modules is available together with the standard packages. It is suitable for use with Java 21 or above.

Code for the modularized version is identical to the standard Jep and stored in the `modules` directory.

Three modules are provided for the standard Jep and three more for the Extensions release.

- `com.singularsys.jep` Core Jep classes
- `com.singularsys.jepexamples` Example applications
- `com.singularsys.jeptests` JUnit tests
- `com.singularsys.extensions` Core Extensions classes
- `com.singularsys.extexamples` Examples for Extensions
- `com.singularsys.exttests` JUnit tests for Extensions

The modules directory contains:

- `modules/`
  - `src/` source code divided into
    - `com.singularsys.jep/` directory for core jep classes.
    - `com.singularsys.jepexamples/`
    - `com.singularsys.jeptests/`
    - `com.singularsys.extensions/`
    - `com.singularsys.extexamples/`
    - `com.singularsys.exttests/`
  - `build/` compiled class files
  - `jar/` jar files
    - `jepmod.jar` core jep classes
    - `jepgemod.jar` runnable jar file with examples
    - `jeptestmod.jar` testing classes
    - `extmod.jar` extensions classes
    - `extegmod.jar` extensions examples
    - `exttestmod.jar` extensions tests
  - `javadoc/` JavaDoc for modularized version.
  - `console.sh` shell script to run the console application from the `com.singularsys.jepexamples` module.
  - `runtests.sh` shell script to run junit tests.
  - `runextests.sh` shell script to run extensions junit tests.

When using module aware java tools put `modules/src` in the `module-source-path` and either `modules/bin` or `modules/jars` in the `module-path`. A typical command to run the Console application would be

    java --module-path modules/build  --module com.singularsys.jepexamples/com.singularsys.jepexamples.consoles.Console