public class KnowledgeBuilderImpl extends Object implements InternalKnowledgeBuilder
| Modifier and Type | Class and Description |
|---|---|
static interface |
KnowledgeBuilderImpl.AssetFilter |
static class |
KnowledgeBuilderImpl.ForkJoinPoolHolder |
static class |
KnowledgeBuilderImpl.MissingPackageNameException |
static class |
KnowledgeBuilderImpl.PackageMergeException |
InternalKnowledgeBuilder.Empty, InternalKnowledgeBuilder.ResourceRemovalResult| Modifier and Type | Field and Description |
|---|---|
protected static org.slf4j.Logger |
logger |
| Constructor and Description |
|---|
KnowledgeBuilderImpl()
Use this when package is starting from scratch.
|
KnowledgeBuilderImpl(org.drools.core.impl.InternalKnowledgeBase kBase) |
KnowledgeBuilderImpl(org.drools.core.impl.InternalKnowledgeBase kBase,
KnowledgeBuilderConfigurationImpl configuration) |
KnowledgeBuilderImpl(org.drools.core.definitions.InternalKnowledgePackage pkg)
This will allow you to merge rules into this pre existing package.
|
KnowledgeBuilderImpl(org.drools.core.definitions.InternalKnowledgePackage pkg,
KnowledgeBuilderConfigurationImpl configuration) |
KnowledgeBuilderImpl(KnowledgeBuilderConfigurationImpl configuration)
Pass a specific configuration for the PackageBuilder
PackageBuilderConfiguration is not thread safe and it also contains
state.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceType type) |
void |
add(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceType type,
org.kie.api.io.ResourceConfiguration configuration) |
void |
addBuilderResult(org.kie.internal.builder.KnowledgeBuilderResult result) |
void |
addDsl(org.kie.api.io.Resource resource) |
void |
addGlobal(String name,
Class<?> type) |
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.definitions.InternalKnowledgePackage newPkg) |
void |
addPackage(PackageDescr packageDescr)
Adds a package from a Descr/AST also triggering its compilation
and the generation of the corresponding rete/phreak network
|
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 |
addPackageFromGuidedDecisionTable(org.kie.api.io.Resource resource) |
void |
addPackageFromGuidedScoreCard(org.kie.api.io.Resource resource) |
void |
addPackageFromScoreCard(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceConfiguration configuration) |
void |
addPackageFromTemplate(org.kie.api.io.Resource resource) |
void |
addPackageFromXml(Reader reader)
Load a rule package from XML source.
|
void |
addPackageFromXml(org.kie.api.io.Resource resource) |
void |
addProcessFromXml(Reader processSource)
Deprecated.
|
void |
addProcessFromXml(org.kie.api.io.Resource resource)
Deprecated.
|
void |
addRuleFlow(Reader processSource)
Add a ruleflow (.rfm) asset to this package.
|
org.kie.internal.builder.CompositeKnowledgeBuilder |
batch() |
protected void |
buildEntryPoints(Collection<CompositePackageDescr> packages) |
protected void |
buildOtherDeclarations(Collection<CompositePackageDescr> packages) |
void |
buildPackages(Collection<CompositePackageDescr> packages) |
void |
buildPackagesWithoutRules(Collection<CompositePackageDescr> packages) |
protected void |
buildRules(Collection<CompositePackageDescr> packages) |
protected void |
buildTypeDeclarations(Collection<CompositePackageDescr> packages) |
void |
compileAll() |
protected void |
compileKnowledgePackages(PackageDescr packageDescr,
PackageRegistry pkgRegistry) |
protected void |
compileRete(PackageDescr packageDescr) |
<T extends org.kie.api.internal.io.ResourceTypePackage<?>> |
computeIfAbsent(org.kie.api.io.ResourceType resourceType,
String namespace,
Function<? super org.kie.api.io.ResourceType,T> mappingFunction) |
static File |
createDumpDrlFile(File dumpDir,
String fileName,
String extension) |
protected void |
doFirstBuildStep(Collection<CompositePackageDescr> packages)
Performs the actual building of rules, but may be empty in subclasses
|
protected void |
doSecondBuildStep(Collection<CompositePackageDescr> packages)
Used by subclasses that need to perform the build after the assemblers
|
org.drools.core.rule.TypeDeclaration |
getAndRegisterTypeDeclaration(Class<?> cls,
String packageName) |
KnowledgeBuilderConfigurationImpl |
getBuilderConfiguration()
Return the PackageBuilderConfiguration for this PackageBuilder session
|
<T> T |
getCachedOrCreate(String key,
Supplier<T> creator) |
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.impl.InternalKnowledgeBase |
getKnowledgeBase() |
Collection<org.kie.api.definition.KiePackage> |
getKnowledgePackages() |
PackageRegistry |
getOrCreatePackageRegistry(PackageDescr packageDescr) |
org.drools.core.definitions.InternalKnowledgePackage |
getPackage(String name) |
List<PackageDescr> |
getPackageDescrs(String packageName) |
Collection<String> |
getPackageNames() |
Map<String,PackageRegistry> |
getPackageRegistry() |
PackageRegistry |
getPackageRegistry(String name) |
org.drools.core.definitions.InternalKnowledgePackage[] |
getPackages() |
ProcessBuilder |
getProcessBuilder() |
org.kie.api.builder.ReleaseId |
getReleaseId() |
org.kie.internal.builder.KnowledgeBuilderResults |
getResults(org.kie.internal.builder.ResultSeverity... problemTypes) |
ClassLoader |
getRootClassLoader() |
org.drools.core.rule.TypeDeclaration |
getTypeDeclaration(Class<?> cls) |
List<DroolsWarning> |
getWarnings() |
boolean |
hasErrors()
This will return true if there were errors in the package building and
compiling phase
|
boolean |
hasInfo() |
boolean |
hasResults(org.kie.internal.builder.ResultSeverity... problemTypes) |
boolean |
hasWarnings() |
protected void |
initPackageRegistries(Collection<CompositePackageDescr> packages) |
org.kie.api.KieBase |
newKieBase() |
org.kie.api.KieBase |
newKnowledgeBase(org.kie.api.KieBaseConfiguration conf) |
protected void |
normalizeAnnotations(AnnotatedBaseDescr annotationsContainer,
org.drools.core.addon.TypeResolver typeResolver,
boolean isStrict) |
protected void |
normalizeRuleAnnotations(Collection<CompositePackageDescr> packages) |
void |
normalizeRuleAnnotations(PackageDescr packageDescr,
org.drools.core.addon.TypeResolver typeResolver) |
protected void |
normalizeTypeAnnotations(Collection<CompositePackageDescr> packages) |
void |
normalizeTypeDeclarationAnnotations(PackageDescr packageDescr,
org.drools.core.addon.TypeResolver typeResolver) |
protected void |
processAccumulateFunctions(PackageRegistry pkgRegistry,
PackageDescr packageDescr) |
protected void |
processFunctions(PackageRegistry pkgRegistry,
PackageDescr packageDescr) |
protected void |
processGlobals(PackageRegistry pkgRegistry,
PackageDescr packageDescr) |
protected void |
processKieBaseTypes() |
protected void |
processOtherDeclarations(PackageRegistry pkgRegistry,
PackageDescr packageDescr) |
protected void |
processWindowDeclarations(PackageRegistry pkgRegistry,
PackageDescr packageDescr) |
void |
registerBuildResource(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceType type) |
void |
registerBuildResources(List<org.kie.api.io.Resource> resources) |
void |
registerPackage(PackageDescr packageDescr) |
void |
reloadAll() |
InternalKnowledgeBuilder.ResourceRemovalResult |
removeObjectsGeneratedFromResource(org.kie.api.io.Resource resource) |
void |
reportError(org.kie.internal.builder.KnowledgeBuilderError error) |
void |
resetErrors()
Reset the error list.
|
void |
resetProblems() |
void |
resetWarnings() |
void |
rewireAllClassObjectTypes() |
void |
setAssetFilter(KnowledgeBuilderImpl.AssetFilter assetFilter) |
void |
setReleaseId(org.kie.api.builder.ReleaseId releaseId) |
void |
undo() |
void |
updateResults() |
void |
updateResults(List<org.kie.internal.builder.KnowledgeBuilderResult> results) |
protected void |
validateUniqueRuleNames(PackageDescr packageDescr) |
protected void |
wireAllRules() |
public KnowledgeBuilderImpl()
public KnowledgeBuilderImpl(org.drools.core.definitions.InternalKnowledgePackage pkg)
public KnowledgeBuilderImpl(org.drools.core.impl.InternalKnowledgeBase kBase)
public KnowledgeBuilderImpl(KnowledgeBuilderConfigurationImpl configuration)
PackageBuilderConfiguration is not thread safe and it also contains state. Once it is created and used in one or more PackageBuilders it should be considered immutable. Do not modify its properties while it is being used by a PackageBuilder.
public KnowledgeBuilderImpl(org.drools.core.definitions.InternalKnowledgePackage pkg,
KnowledgeBuilderConfigurationImpl configuration)
public KnowledgeBuilderImpl(org.drools.core.impl.InternalKnowledgeBase kBase,
KnowledgeBuilderConfigurationImpl configuration)
public org.kie.api.builder.ReleaseId getReleaseId()
public void setReleaseId(org.kie.api.builder.ReleaseId releaseId)
public org.drools.core.impl.InternalKnowledgeBase getKnowledgeBase()
getKnowledgeBase in interface DroolsAssemblerContextpublic void addPackageFromDrl(Reader reader) throws DroolsParserException, IOException
DroolsParserExceptionIOExceptionpublic void addPackageFromDrl(Reader reader, org.kie.api.io.Resource sourceResource) throws DroolsParserException, IOException
reader - sourceResource - the source resource for the read artifactsDroolsParserExceptionIOExceptionpublic void addPackageFromDecisionTable(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceConfiguration configuration)
throws DroolsParserException,
IOException
DroolsParserExceptionIOExceptionpublic void addPackageFromGuidedDecisionTable(org.kie.api.io.Resource resource)
throws DroolsParserException,
IOException
DroolsParserExceptionIOExceptionpublic static File createDumpDrlFile(File dumpDir, String fileName, String extension)
public void addPackageFromScoreCard(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceConfiguration configuration)
throws DroolsParserException,
IOException
DroolsParserExceptionIOExceptionpublic void addPackageFromGuidedScoreCard(org.kie.api.io.Resource resource)
throws DroolsParserException,
IOException
DroolsParserExceptionIOExceptionpublic void addPackageFromTemplate(org.kie.api.io.Resource resource)
throws DroolsParserException,
IOException
DroolsParserExceptionIOExceptionpublic void addPackageFromDrl(org.kie.api.io.Resource resource)
throws DroolsParserException,
IOException
DroolsParserExceptionIOExceptionpublic void addPackageFromXml(Reader reader) throws DroolsParserException, IOException
reader - DroolsParserExceptionIOExceptionpublic void addPackageFromXml(org.kie.api.io.Resource resource)
throws DroolsParserException,
IOException
DroolsParserExceptionIOExceptionpublic void addPackageFromDrl(Reader source, Reader dsl) throws DroolsParserException, IOException
source - The source of the rules.dsl - The source of the domain specific language configuration.DroolsParserExceptionIOExceptionpublic void addPackageFromDslr(org.kie.api.io.Resource resource)
throws DroolsParserException,
IOException
DroolsParserExceptionIOExceptionpublic void addDsl(org.kie.api.io.Resource resource)
throws IOException
IOExceptionpublic void addRuleFlow(Reader processSource)
@Deprecated public void addProcessFromXml(org.kie.api.io.Resource resource)
public ProcessBuilder getProcessBuilder()
@Deprecated 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 addPackage(PackageDescr packageDescr)
addPackage in interface InternalKnowledgeBuilderprotected void compileKnowledgePackages(PackageDescr packageDescr, PackageRegistry pkgRegistry)
protected void wireAllRules()
protected void processKieBaseTypes()
protected void compileRete(PackageDescr packageDescr)
public void addBuilderResult(org.kie.internal.builder.KnowledgeBuilderResult result)
public <T extends org.kie.api.internal.io.ResourceTypePackage<?>> T computeIfAbsent(org.kie.api.io.ResourceType resourceType,
String namespace,
Function<? super org.kie.api.io.ResourceType,T> mappingFunction)
computeIfAbsent in interface org.kie.internal.builder.AssemblerContextpublic PackageRegistry getOrCreatePackageRegistry(PackageDescr packageDescr)
public void registerPackage(PackageDescr packageDescr)
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.definitions.InternalKnowledgePackage newPkg)
protected void validateUniqueRuleNames(PackageDescr packageDescr)
protected void processOtherDeclarations(PackageRegistry pkgRegistry, PackageDescr packageDescr)
protected void processGlobals(PackageRegistry pkgRegistry, PackageDescr packageDescr)
protected void processAccumulateFunctions(PackageRegistry pkgRegistry, PackageDescr packageDescr)
protected void processFunctions(PackageRegistry pkgRegistry, PackageDescr packageDescr)
public org.drools.core.rule.TypeDeclaration getAndRegisterTypeDeclaration(Class<?> cls, String packageName)
getAndRegisterTypeDeclaration in interface DroolsAssemblerContextprotected void processWindowDeclarations(PackageRegistry pkgRegistry, PackageDescr packageDescr)
public org.drools.core.definitions.InternalKnowledgePackage[] getPackages()
public KnowledgeBuilderConfigurationImpl getBuilderConfiguration()
getBuilderConfiguration in interface DroolsAssemblerContextpublic PackageRegistry getPackageRegistry(String name)
getPackageRegistry in interface DroolsAssemblerContextpublic org.drools.core.definitions.InternalKnowledgePackage getPackage(String name)
getPackage in interface InternalKnowledgeBuilderpublic Map<String,PackageRegistry> getPackageRegistry()
public Collection<String> getPackageNames()
public List<PackageDescr> getPackageDescrs(String packageName)
getPackageDescrs in interface DroolsAssemblerContextpublic DefaultExpander getDslExpander()
public Map<String,Class<?>> getGlobals()
getGlobals in interface DroolsAssemblerContextpublic boolean hasErrors()
hasErrors in interface org.kie.internal.builder.KnowledgeBuilderpublic org.kie.internal.builder.KnowledgeBuilderResults getResults(org.kie.internal.builder.ResultSeverity... problemTypes)
getResults in interface org.kie.internal.builder.KnowledgeBuilderpublic boolean hasResults(org.kie.internal.builder.ResultSeverity... problemTypes)
hasResults in interface org.kie.internal.builder.KnowledgeBuilderpublic boolean hasWarnings()
public boolean hasInfo()
public List<DroolsWarning> getWarnings()
public void reportError(org.kie.internal.builder.KnowledgeBuilderError error)
reportError in interface org.kie.internal.builder.AssemblerContextpublic PackageBuilderErrors getErrors()
getErrors in interface DroolsAssemblerContextgetErrors in interface org.kie.internal.builder.KnowledgeBuilderpublic void resetErrors()
public void resetWarnings()
public void resetProblems()
public String getDefaultDialect()
public ClassLoader getRootClassLoader()
getRootClassLoader in interface DroolsAssemblerContextpublic void registerBuildResource(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceType type)
public void registerBuildResources(List<org.kie.api.io.Resource> resources)
public void undo()
undo in interface org.kie.internal.builder.KnowledgeBuilderpublic InternalKnowledgeBuilder.ResourceRemovalResult removeObjectsGeneratedFromResource(org.kie.api.io.Resource resource)
removeObjectsGeneratedFromResource in interface InternalKnowledgeBuilderpublic void rewireAllClassObjectTypes()
rewireAllClassObjectTypes in interface InternalKnowledgeBuilderpublic void setAssetFilter(KnowledgeBuilderImpl.AssetFilter assetFilter)
public void add(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceType type)
add in interface org.kie.internal.builder.KnowledgeBuilderpublic org.kie.internal.builder.CompositeKnowledgeBuilder batch()
batch in interface org.kie.internal.builder.KnowledgeBuilderpublic void add(org.kie.api.io.Resource resource,
org.kie.api.io.ResourceType type,
org.kie.api.io.ResourceConfiguration configuration)
add in interface org.kie.internal.builder.KnowledgeBuilderpublic Collection<org.kie.api.definition.KiePackage> getKnowledgePackages()
getKnowledgePackages in interface org.kie.internal.builder.KnowledgeBuilderpublic org.kie.api.KieBase newKieBase()
newKieBase in interface org.kie.internal.builder.KnowledgeBuilderpublic org.kie.api.KieBase newKnowledgeBase(org.kie.api.KieBaseConfiguration conf)
public org.drools.core.rule.TypeDeclaration getTypeDeclaration(Class<?> cls)
getTypeDeclaration in interface DroolsAssemblerContextpublic void normalizeTypeDeclarationAnnotations(PackageDescr packageDescr, org.drools.core.addon.TypeResolver typeResolver)
public void normalizeRuleAnnotations(PackageDescr packageDescr, org.drools.core.addon.TypeResolver typeResolver)
protected void normalizeAnnotations(AnnotatedBaseDescr annotationsContainer, org.drools.core.addon.TypeResolver typeResolver, boolean isStrict)
public final void buildPackages(Collection<CompositePackageDescr> packages)
protected void doFirstBuildStep(Collection<CompositePackageDescr> packages)
protected void doSecondBuildStep(Collection<CompositePackageDescr> packages)
public void buildPackagesWithoutRules(Collection<CompositePackageDescr> packages)
protected void initPackageRegistries(Collection<CompositePackageDescr> packages)
protected void normalizeTypeAnnotations(Collection<CompositePackageDescr> packages)
protected void normalizeRuleAnnotations(Collection<CompositePackageDescr> packages)
protected void buildEntryPoints(Collection<CompositePackageDescr> packages)
protected void buildTypeDeclarations(Collection<CompositePackageDescr> packages)
protected void buildOtherDeclarations(Collection<CompositePackageDescr> packages)
protected void buildRules(Collection<CompositePackageDescr> packages)
Copyright © 2001–2021 JBoss by Red Hat. All rights reserved.