Interface KnowledgeBuilderConfiguration

All Superinterfaces:
KnowledgeBuilderOptionsConfiguration, PropertiesConfiguration

public interface KnowledgeBuilderConfiguration
extends PropertiesConfiguration, KnowledgeBuilderOptionsConfiguration

This class configures the knowledge package builder and compiler. Dialects and their DialectConfigurations are handled by the DialectRegistry Normally you will not need to look at this class, unless you want to override the defaults.

This class will automatically load default values from a number of places, accumulating properties from each location. This list of locations, in given priority is: System properties, home directory, working directory, META-INF/ of optionally provided classLoader META-INF/ of Thread.currentThread().getContextClassLoader() and META-INF/ of ClassLoader.getSystemClassLoader()

So if you want to set a default configuration value for all your new KnowledgeBuilder, you can simply set the property as a System property.

This class is not thread safe and it also contains state. After the KnowledgeBuilder is created, it makes the configuration immutable and there is no way to make it mutable again. This is to avoid inconsistent behaviour inside KnowledgeBuilder.

Two dialects are supported, Java and MVEL. Java is the default dialect.
The Java dialect supports the following configurations:

And MVEL supports the following configurations:

So for example if we wanted to create a new KnowledgeBuilder that used Janino as the default compiler we would do the following:

 KnowledgeBuilderConfiguration config = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
 config.setProperty("", "JANINO");
 KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder( config );

Remember the KnowledgeBuilderConfiguration could have taken a Properties instance with that setting in it at constructor time, or it could also discover from a disk based properties file too.

Available pre-configured Accumulate functions are:

Method Summary
Methods inherited from interface org.drools.PropertiesConfiguration
getProperty, setProperty
Methods inherited from interface org.drools.builder.conf.KnowledgeBuilderOptionsConfiguration
getOption, getOption, getOptionKeys, setOption

Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.