In this project I made the following improvements to the original CLIPSJNI project:
- More "standardized" package name: net.sf.clipsrules.
- Throwing exceptions instead of only printing errors on the stdout.
- Inline documentation for Environment class' methods and value classes. The idea is to make Java developers' life easier.
- Mavenizing the project (and the original demo applications).
- Creating an OSGi compliant jar.
- Changes on Value's classes design.
- In the 0.3 version PrimitiveValue defined all the methods inherited by the subclasses. Each of these methods throw a generic Exception and were overriden in each subclass. IMHO, this is an ankward use of the polimosphism. Additionally, it forces each method to throw a generic and hardly understandable Exception.
- In the 0.4 version I propose, each Subclass defines its owns methods. Furthermore, I've introduced some new classes to have a one-to-one equivalence with CLIPS' datatypes.
CLIPSJNI project has been mavenized. This means that Maven must be installed.
CLIPS' native library must be installed in the system too. The release section provides the library for Windows and Linux. If you want/need to generate the library from scratch, in the library-src directory you will find a README file which explains how to do it.
To install CLIPSJNI in your Maven local repository, simply run:
mvn install
This will also generate an OSGi compliant jar in the target subfolder that you can use wherever you want.