/** * Abstract class defines the behavior of activation functions */ public abstract class Activation { .. } /** * User-defined sigmoid actiavation function */ public class Sigmoid extends Activation { @Override execute(double value) { .. return result; } } Job Configuration interface design: ANNJob ann = new ANNJob();