@Override protected Class<?>[] prepareInstanceInterfaces() { return new Class[]{getInterfaceClass(), IEngineWrapper.class, IRulesRuntimeContextProvider.class}; }
@Override public Class<?> getGeneratedRulesClass() throws RulesInstantiationException { // Using project class loader for interface generation. ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(getClassLoader()); try { return getEngineFactory().getInterfaceClass(); } catch (Exception e) { throw new RulesInstantiationException("Failed to resolve interface!", e); } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } }
@Override public Class<?> getGeneratedRulesClass() throws RulesInstantiationException { // Using project class loader for interface generation. ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(getClassLoader()); try { return getEngineFactory().getInterfaceClass(); } catch (Exception e) { throw new RulesInstantiationException("Failed to resolve interface!", e); } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } }
@Override public Class<?> getGeneratedRulesClass() throws RulesInstantiationException { // Service class for current implementation will be class, generated at // runtime by factory. // Using project class loader for interface generation. // ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(getClassLoader()); try { return getEngineFactory().getInterfaceClass(); } catch (Exception e) { throw new RulesInstantiationException("Failed to resolve a interface.", e); } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } }
@Override public Class<?> getGeneratedRulesClass() throws RulesInstantiationException { // Service class for current implementation will be class, generated at // runtime by factory. // Using project class loader for interface generation. // ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(getClassLoader()); try { return getEngineFactory().getInterfaceClass(); } catch (Exception e) { throw new RulesInstantiationException("Failed to resolve a interface.", e); } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } }
serviceClass = null; if (engineFactory == null || (serviceClass != null && !engineFactory.getInterfaceClass().equals(serviceClass))) { engineFactory = new RulesEngineFactory<>(createVirtualSourceCodeModule(), (Class<Object>) serviceClass); engineFactory.setExecutionMode(isExecutionMode());
serviceClass = null; if (engineFactory == null || (serviceClass != null && !engineFactory.getInterfaceClass().equals(serviceClass))) { engineFactory = new RulesEngineFactory<>(createVirtualSourceCodeModule(), (Class<Object>) serviceClass); engineFactory.setExecutionMode(isExecutionMode());
serviceClass = null; if (engineFactory == null || (serviceClass != null && !engineFactory.getInterfaceClass().equals(serviceClass))) { if (getModule().getExtension() != null) { IExtensionDescriptor extensionDescriptor = ExtensionDescriptorFactory.getExtensionDescriptor(getModule().getExtension(),
serviceClass = null; if (engineFactory == null || (serviceClass != null && !engineFactory.getInterfaceClass().equals(serviceClass))) { if (getModule().getExtension() != null) { IExtensionDescriptor extensionDescriptor = ExtensionDescriptorFactory.getExtensionDescriptor(getModule().getExtension(),
factory.setExecutionMode(true); Class<?> instanceClass = factory.getInterfaceClass(); Object instance = factory.newInstance();