Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Indra Plugins

Indra implements a plugin-based extensibility mechanism built on the top of the Java Service API which allows including new compositional methods, score functions, threshold functions and filters without recompiling Indra's code.


Implementing new functions involts the extension of two classes. The target function type (VectorComposer, ScoreFunction, Threshold) or Filter) and its respective factory, which should implement the IndraFactory interface.

Following the specification of the Java Service API, the factory should be registered by putting the configuration file in the META-INF directory (check the official Java totural for more information). To avoid this manual work, the configuration file can be generated automatically by adding the following annotation in the new implmemented factory class:

public class MyNewFactory implements IndraFactory {
//implementation goes here


To install the new extension, it is required to pack the new functions' implementations in a JAR file and place it in the Indra's classpath.


Natively, Indra offers one or more implementation of each function, which can be accessed by the buildin factory.