The Extensible Algorithms framework makes a number of services available to the algorithm implementation. This prevents the algorithm from having to re-implement code to perform certain routine tasks and facilitates seamless integration with the Masking Engine. This functionality is exposed to the algorithm class via the ComponentService interface.
Whenever a new Masking Algorithm instance is required for masking, the extensibility framework first injects any saved configuration, then invokes the objects setup method. This method is passed a reference to an object that implements ComponentService. The algorithm's setup method can then use this object to access a number of provider methods:
- getInstanceName - Get the name of this instance. Because the instance name it is not typically a configurable field in the algorithm, the getName method will not correctly return the name of an algorithm instance, even after JSON configuration injection. This method will always return the correct instance name as known to the Masking Engine.
- openInputFile - Access the contents of a file, as described in this section
- getAlgorithmByName - Get a usable instance of another algorithm, as described in this section
- getCryptoService - Access cryptographic methods based on the algorithm's key, as described in this section
- getLogService - Get a logger object, as described in this section
Getting More Information
Refer to the com.delphix.masking.api.provider package in the Javadoc for detailed information.