Skip to main content

Expresso - Dynamic Expression Evaluator

Expresso is a lightweight, zero-dependency Java expression evaluator library designed for dynamically evaluating expressions in your applications. Whether you need to evaluate user-defined formulas, content stored in databases, or rule-based calculations, Expresso provides a powerful engine to safely evaluate dynamic expressions with contextual data.

Key Features

  • Dynamic Evaluation: Evaluate expressions written by users or stored in databases
  • Context-Driven: Calculate results based on supplied context variables
  • Zero Dependencies: Pure Java implementation with no external libraries
  • Type-Safe: Strong type checking ensures reliable results
  • Null Safety: Safely handle null values with specialized operators
  • Security: Validate expressions before evaluation
  • Extensible: Add custom functions to meet your specific needs
  • Comprehensive Error Handling: Detailed error reporting

Use Cases

  • User-Defined Formulas: Allow end-users to define custom calculations
  • Rule Engines: Implement business rules stored in databases
  • Dynamic Content: Generate content based on contextual variables
  • Configurable Workflows: Create configurable business processes
  • Data Transformation: Transform data using dynamic rules
  • Template Engines: Enhance templates with expression evaluation

Quick Start

Add Expresso to your project using Maven:

<dependency>
<groupId>work.ghassen</groupId>
<artifactId>expresso</artifactId>
<version>1.0.0</version>
</dependency>

Requirements

  • Java 17 or higher
  • Maven 3.6 or higher (for building)