|
Drools :: Compiler 6.0.0.CR5 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.drools.compiler.compiler.PackageBuilder
public class PackageBuilder
This is the main compiler class for parsing and compiling rules and assembling or merging them into a binary Package instance. This can be done by merging into existing binary packages, or totally from source. If you are using the Java dialect the JavaDialectConfiguration will attempt to validate that the specified compiler is in the classpath, using ClassLoader.loasClass(String). If you intented to just Janino sa the compiler you must either overload the compiler property before instantiating this class or the PackageBuilder, or make sure Eclipse is in the classpath, as Eclipse is the default. Normally, a complete package is built using one of the applicable addPackageFromXXX methods. It is however possible to construct a package incrementally by adding individual component parts. When a package is built incrementally package level attributes are cached and applied to Rules subsequently added. Caution should be exercised when using the same PackageBuilder to construct packages from multiple sources as the cached package level attributes will still apply even if the resource added to PackageBuilder does not explicitly include package level attributes.
| Nested Class Summary | |
|---|---|
static class |
PackageBuilder.ErrorHandler
This is the super of the error handlers. |
static class |
PackageBuilder.FunctionErrorHandler
|
static class |
PackageBuilder.MissingPackageNameException
|
static class |
PackageBuilder.PackageMergeException
|
static class |
PackageBuilder.RuleErrorHandler
|
static class |
PackageBuilder.RuleInvokerErrorHandler
There isn't much point in reporting invoker errors, as they are no help. |
static class |
PackageBuilder.SrcError
|
static class |
PackageBuilder.SrcErrorHandler
|
| Field Summary | |
|---|---|
protected org.drools.core.type.DateFormats |
dateFormats
|
static RuleBuilder |
ruleBuilder
|
| Constructor Summary | |
|---|---|
PackageBuilder()
Use this when package is starting from scratch. |
|
PackageBuilder(org.drools.core.rule.Package pkg)
This will allow you to merge rules into this pre existing package. |
|
PackageBuilder(PackageBuilderConfiguration configuration)
Pass a specific configuration for the PackageBuilder PackageBuilderConfiguration is not thread safe and it also contains state. |
|
PackageBuilder(org.drools.core.rule.Package pkg,
PackageBuilderConfiguration configuration)
|
|
PackageBuilder(org.drools.core.RuleBase ruleBase)
|
|
PackageBuilder(org.drools.core.RuleBase ruleBase,
PackageBuilderConfiguration configuration)
|
|
| Method Summary | |
|---|---|
void |
addDsl(org.kie.api.io.Resource resource)
|
void |
addKnowledgeResource(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceType type,
org.kie.api.io.ResourceConfiguration configuration)
|
void |
addPackage(org.drools.core.rule.Package newPkg)
|
void |
addPackage(PackageDescr packageDescr)
This adds a package from a Descr/AST This will also trigger a compile, if there are any generated classes to compile of course. |
void |
addPackageFromDecisionTable(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceConfiguration configuration)
|
void |
addPackageFromDrl(Reader reader)
Load a rule package from DRL source. |
void |
addPackageFromDrl(Reader source,
Reader dsl)
Load a rule package from DRL source using the supplied DSL configuration. |
void |
addPackageFromDrl(Reader reader,
org.kie.api.io.Resource sourceResource)
Load a rule package from DRL source and associate all loaded artifacts with the given resource. |
void |
addPackageFromDrl(org.kie.api.io.Resource resource)
|
void |
addPackageFromDslr(org.kie.api.io.Resource resource)
|
void |
addPackageFromPMML(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceType type,
org.kie.api.io.ResourceConfiguration configuration)
|
void |
addPackageFromScoreCard(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceConfiguration configuration)
|
void |
addPackageFromXml(Reader reader)
Load a rule package from XML source. |
void |
addPackageFromXml(org.kie.api.io.Resource resource)
|
void |
addProcessFromXml(Reader processSource)
|
void |
addProcessFromXml(org.kie.api.io.Resource resource)
|
void |
addRuleFlow(Reader processSource)
Add a ruleflow (.rfm) asset to this package. |
protected TypeFieldDescr |
buildInheritedFieldDescrFromDefinition(org.kie.api.definition.type.FactField fld)
|
boolean |
buildTypeDeclarationInterfaces(Class cls,
Set<org.drools.core.rule.TypeDeclaration> tdecls)
|
void |
buildTypeDeclarations(Class<?> cls,
Set<org.drools.core.rule.TypeDeclaration> tdecls)
|
void |
compileAll()
|
PackageBuilder |
deepClone()
|
org.drools.core.rule.TypeDeclaration |
getAndRegisterTypeDeclaration(Class<?> cls,
String packageName)
|
org.drools.core.type.DateFormats |
getDateFormats()
|
String |
getDefaultDialect()
|
DefaultExpander |
getDslExpander()
Returns an expander for DSLs (only if there is a DSL configured for this package). |
PackageBuilderErrors |
getErrors()
|
Map<String,Class<?>> |
getGlobals()
|
org.drools.core.rule.Package |
getPackage()
|
PackageBuilderConfiguration |
getPackageBuilderConfiguration()
Return the PackageBuilderConfiguration for this PackageBuilder session |
List<PackageDescr> |
getPackageDescrs(String packageName)
|
Collection<String> |
getPackageNames()
|
Map<String,PackageRegistry> |
getPackageRegistry()
|
PackageRegistry |
getPackageRegistry(String name)
|
org.drools.core.rule.Package[] |
getPackages()
|
org.kie.internal.builder.KnowledgeBuilderResults |
getProblems(org.kie.internal.builder.ResultSeverity... problemTypes)
|
ClassLoader |
getRootClassLoader()
|
org.drools.core.rule.TypeDeclaration |
getTypeDeclaration(Class<?> cls)
|
List<DroolsWarning> |
getWarningList()
|
boolean |
hasErrors()
This will return true if there were errors in the package building and compiling phase |
boolean |
hasInfo()
|
boolean |
hasProblems(org.kie.internal.builder.ResultSeverity... problemTypes)
|
boolean |
hasWarnings()
|
boolean |
isEmpty(String string)
|
void |
registerBuildResource(org.kie.api.io.Resource resource)
|
void |
registerBuildResources(List<org.kie.api.io.Resource> resources)
|
void |
reloadAll()
|
boolean |
removeObjectsGeneratedFromResource(org.kie.api.io.Resource resource)
|
protected void |
resetErrors()
Reset the error list. |
protected void |
resetProblems()
|
protected void |
resetWarnings()
|
Collection<AbstractClassTypeDeclarationDescr> |
sortByHierarchy(List<AbstractClassTypeDeclarationDescr> typeDeclarations)
Utility method to sort declared beans. |
void |
undo()
|
void |
updateResults()
|
void |
updateResults(List<org.kie.internal.builder.KnowledgeBuilderResult> results)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final RuleBuilder ruleBuilder
protected org.drools.core.type.DateFormats dateFormats
| Constructor Detail |
|---|
public PackageBuilder()
public PackageBuilder(org.drools.core.rule.Package pkg)
public PackageBuilder(org.drools.core.RuleBase ruleBase)
public PackageBuilder(PackageBuilderConfiguration configuration)
configuration -
public PackageBuilder(org.drools.core.rule.Package pkg,
PackageBuilderConfiguration configuration)
public PackageBuilder(org.drools.core.RuleBase ruleBase,
PackageBuilderConfiguration configuration)
| Method Detail |
|---|
public PackageBuilder deepClone()
deepClone in interface org.drools.core.util.DeepCloneable<PackageBuilder>
public void addPackageFromDrl(Reader reader)
throws DroolsParserException,
IOException
reader -
DroolsParserException
IOException
public void addPackageFromDrl(Reader reader,
org.kie.api.io.Resource sourceResource)
throws DroolsParserException,
IOException
reader - sourceResource - the source resource for the read artifacts
DroolsParserException
IOException
public void addPackageFromDecisionTable(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceConfiguration configuration)
throws DroolsParserException,
IOException
DroolsParserException
IOException
public void addPackageFromScoreCard(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceConfiguration configuration)
throws DroolsParserException,
IOException
DroolsParserException
IOException
public void addPackageFromDrl(org.kie.api.io.Resource resource)
throws DroolsParserException,
IOException
DroolsParserException
IOException
public void addPackageFromXml(Reader reader)
throws DroolsParserException,
IOException
reader -
DroolsParserException
IOException
public void addPackageFromXml(org.kie.api.io.Resource resource)
throws DroolsParserException,
IOException
DroolsParserException
IOException
public void addPackageFromDrl(Reader source,
Reader dsl)
throws DroolsParserException,
IOException
source - The source of the rules.dsl - The source of the domain specific language configuration.
DroolsParserException
IOException
public void addPackageFromDslr(org.kie.api.io.Resource resource)
throws DroolsParserException,
IOException
DroolsParserException
IOException
public void addDsl(org.kie.api.io.Resource resource)
throws IOException
IOExceptionpublic void addRuleFlow(Reader processSource)
public void addProcessFromXml(org.kie.api.io.Resource resource)
public void addProcessFromXml(Reader processSource)
public void addKnowledgeResource(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceType type,
org.kie.api.io.ResourceConfiguration configuration)
public void addPackageFromPMML(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceType type,
org.kie.api.io.ResourceConfiguration configuration)
throws Exception
Exceptionpublic void addPackage(PackageDescr packageDescr)
public boolean isEmpty(String string)
public void updateResults()
public void updateResults(List<org.kie.internal.builder.KnowledgeBuilderResult> results)
public void compileAll()
public void reloadAll()
public void addPackage(org.drools.core.rule.Package newPkg)
public org.drools.core.rule.TypeDeclaration getAndRegisterTypeDeclaration(Class<?> cls,
String packageName)
public org.drools.core.rule.TypeDeclaration getTypeDeclaration(Class<?> cls)
public void buildTypeDeclarations(Class<?> cls,
Set<org.drools.core.rule.TypeDeclaration> tdecls)
public boolean buildTypeDeclarationInterfaces(Class cls,
Set<org.drools.core.rule.TypeDeclaration> tdecls)
protected TypeFieldDescr buildInheritedFieldDescrFromDefinition(org.kie.api.definition.type.FactField fld)
public org.drools.core.rule.Package getPackage()
public org.drools.core.rule.Package[] getPackages()
public PackageBuilderConfiguration getPackageBuilderConfiguration()
public PackageRegistry getPackageRegistry(String name)
public Map<String,PackageRegistry> getPackageRegistry()
public org.drools.core.type.DateFormats getDateFormats()
public Collection<String> getPackageNames()
public List<PackageDescr> getPackageDescrs(String packageName)
public DefaultExpander getDslExpander()
public Map<String,Class<?>> getGlobals()
public boolean hasErrors()
public org.kie.internal.builder.KnowledgeBuilderResults getProblems(org.kie.internal.builder.ResultSeverity... problemTypes)
public boolean hasProblems(org.kie.internal.builder.ResultSeverity... problemTypes)
public boolean hasWarnings()
public boolean hasInfo()
public List<DroolsWarning> getWarningList()
public PackageBuilderErrors getErrors()
protected void resetErrors()
protected void resetWarnings()
protected void resetProblems()
public String getDefaultDialect()
public ClassLoader getRootClassLoader()
public Collection<AbstractClassTypeDeclarationDescr> sortByHierarchy(List<AbstractClassTypeDeclarationDescr> typeDeclarations)
typeDeclarations -
public void registerBuildResource(org.kie.api.io.Resource resource)
public void registerBuildResources(List<org.kie.api.io.Resource> resources)
public void undo()
public boolean removeObjectsGeneratedFromResource(org.kie.api.io.Resource resource)
|
Drools :: Compiler 6.0.0.CR5 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||