public Condition build(String script) throws IllegalAccessException, CompileException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setImplementedInterfaces(new Class[]{Condition.class}); cbe.setExtendedClass(PropertyWrapperForScripts.class); cbe.setParentClassLoader(ClassBodyEvaluator.class.getClassLoader()); cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX); Class<?> clazz = cbe.getClazz(); Condition instance = (Condition) clazz.newInstance(); Method setMapMethod = clazz.getMethod("setPropertyContainers", PropertyContainer.class, PropertyContainer.class); setMapMethod.invoke(instance, localPropContainer, context); return instance; }
public Condition build(String script) throws IllegalAccessException, CompileException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setImplementedInterfaces(new Class[] { Condition.class }); cbe.setExtendedClass(PropertyWrapperForScripts.class); cbe.setParentClassLoader(ClassBodyEvaluator.class.getClassLoader()); cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX); Class<?> clazz = cbe.getClazz(); Condition instance = (Condition) clazz.newInstance(); Method setMapMethod = clazz.getMethod("setPropertyContainers", PropertyContainer.class, PropertyContainer.class); setMapMethod.invoke(instance, localPropContainer, context); return instance; }
public Condition build(String script) throws IllegalAccessException, CompileException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setImplementedInterfaces(new Class[] { Condition.class }); cbe.setExtendedClass(PropertyWrapperForScripts.class); cbe.setParentClassLoader(ClassBodyEvaluator.class.getClassLoader()); cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX); Class<?> clazz = cbe.getClazz(); Condition instance = (Condition) clazz.newInstance(); Method setMapMethod = clazz.getMethod("setPropertyContainers", PropertyContainer.class, PropertyContainer.class); setMapMethod.invoke(instance, localPropContainer, context); return instance; }
public Condition build(String script) throws IllegalAccessException, CompileException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setImplementedInterfaces(new Class[] { Condition.class }); cbe.setExtendedClass(PropertyWrapperForScripts.class); cbe.setParentClassLoader(ClassBodyEvaluator.class.getClassLoader()); cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX); Class<?> clazz = cbe.getClazz(); Condition instance = (Condition) clazz.newInstance(); Method setMapMethod = clazz.getMethod("setPropertyContainers", PropertyContainer.class, PropertyContainer.class); setMapMethod.invoke(instance, localPropContainer, context); return instance; }
public Condition build(String script) throws IllegalAccessException, CompileException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setImplementedInterfaces(new Class[]{Condition.class}); cbe.setExtendedClass(PropertyWrapperForScripts.class); cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX); Class<?> clazz = cbe.getClazz(); Condition instance = (Condition) clazz.newInstance(); Method setMapMethod = clazz.getMethod("setPropertyContainers", PropertyContainer.class, PropertyContainer.class); setMapMethod.invoke(instance, localPropContainer, context); return instance; }
public Condition build(String script) throws IllegalAccessException, CompileException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setImplementedInterfaces(new Class[] { Condition.class }); cbe.setExtendedClass(PropertyWrapperForScripts.class); cbe.setParentClassLoader(ClassBodyEvaluator.class.getClassLoader()); cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX); Class<?> clazz = cbe.getClazz(); Condition instance = (Condition) clazz.newInstance(); Method setMapMethod = clazz.getMethod("setPropertyContainers", PropertyContainer.class, PropertyContainer.class); setMapMethod.invoke(instance, localPropContainer, context); return instance; }
public Condition build(String script) throws IllegalAccessException, CompileException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setImplementedInterfaces(new Class[] { Condition.class }); cbe.setExtendedClass(PropertyWrapperForScripts.class); cbe.setParentClassLoader(ClassBodyEvaluator.class.getClassLoader()); cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX); Class<?> clazz = cbe.getClazz(); Condition instance = (Condition) clazz.newInstance(); Method setMapMethod = clazz.getMethod("setPropertyContainers", PropertyContainer.class, PropertyContainer.class); setMapMethod.invoke(instance, localPropContainer, context); return instance; }
public Condition build(String script) throws IllegalAccessException, CompileException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setImplementedInterfaces(new Class[] { Condition.class }); cbe.setExtendedClass(PropertyWrapperForScripts.class); cbe.setParentClassLoader(ClassBodyEvaluator.class.getClassLoader()); cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX); Class<?> clazz = cbe.getClazz(); Condition instance = (Condition) clazz.newInstance(); Method setMapMethod = clazz.getMethod("setPropertyContainers", PropertyContainer.class, PropertyContainer.class); setMapMethod.invoke(instance, localPropContainer, context); return instance; }
public Condition build(String script) throws IllegalAccessException, CompileException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setImplementedInterfaces(new Class[]{Condition.class}); cbe.setExtendedClass(PropertyWrapperForScripts.class); cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX); Class<?> clazz = cbe.getClazz(); Condition instance = (Condition) clazz.newInstance(); Method setMapMethod = clazz.getMethod("setPropertyContainers", PropertyContainer.class, PropertyContainer.class); setMapMethod.invoke(instance, localPropContainer, context); return instance; }
public Condition build(String script) throws IllegalAccessException, CompileException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setImplementedInterfaces(new Class[]{Condition.class}); cbe.setExtendedClass(PropertyWrapperForScripts.class); cbe.setParentClassLoader(ClassBodyEvaluator.class.getClassLoader()); cbe.cook(SCRIPT_PREFIX + script + SCRIPT_SUFFIX); Class<?> clazz = cbe.getClazz(); Condition instance = (Condition) clazz.newInstance(); Method setMapMethod = clazz.getMethod("setPropertyContainers", PropertyContainer.class, PropertyContainer.class); setMapMethod.invoke(instance, localPropContainer, context); return instance; }
private static Function1<DataContext, Object[]> compile(String code, Object reason) { try { final ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setClassName(GENERATED_CLASS_NAME); cbe.setExtendedClass(Utilities.class); cbe.setImplementedInterfaces(new Class[] {Function1.class, Serializable.class}); cbe.setParentClassLoader(RexExecutable.class.getClassLoader()); cbe.cook(new Scanner(null, new StringReader(code))); Class c = cbe.getClazz(); //noinspection unchecked final Constructor<Function1<DataContext, Object[]>> constructor = c.getConstructor(); return constructor.newInstance(); } catch (CompileException | IOException | InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { throw new RuntimeException("While compiling " + reason, e); } }
private static Function1<DataContext, Object[]> compile(String code, Object reason) { try { final ClassBodyEvaluator cbe = new ClassBodyEvaluator(); cbe.setClassName(GENERATED_CLASS_NAME); cbe.setExtendedClass(Utilities.class); cbe.setImplementedInterfaces(new Class[] {Function1.class, Serializable.class}); cbe.setParentClassLoader(RexExecutable.class.getClassLoader()); cbe.cook(new Scanner(null, new StringReader(code))); Class c = cbe.getClazz(); //noinspection unchecked final Constructor<Function1<DataContext, Object[]>> constructor = c.getConstructor(); return constructor.newInstance(); } catch (CompileException | IOException | InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { throw new RuntimeException("While compiling " + reason, e); } }