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

README.md

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.

Implementation

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:

@AutoService(IndraFactory.class)
public class MyNewFactory implements IndraFactory {
//implementation goes here
}

Installation

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.

Usage

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