final InterfaceContract contract;
public PythonImplementationProcessor(final ExtensionPointRegistry ep) throws InvalidInterfaceException {
final FactoryExtensionPoint fep = ep.getExtensionPoint(FactoryExtensionPoint.class);
final JavaInterfaceFactory jf = fep.getFactory(JavaInterfaceFactory.class);
final JavaInterface eval = jf.createJavaInterface(PythonEval.class);
class DynamicInterface extends JavaInterfaceImpl {
DynamicInterface() {
setJavaClass(eval.getJavaClass());
setName(eval.getName());
setRemotable(eval.isRemotable());
Operation op = eval.getOperations().get(0);
op.setDynamic(true);
getOperations().add(op);
//resetDataBinding(JSONDataBinding.NAME);
resetDataBinding("JSON");
setUnresolved(false);
}
@Override
public boolean isDynamic() {
return true;
}
}
contract = jf.createJavaInterfaceContract();
contract.setInterface(new DynamicInterface());
}