Package org.drools.core.rule
Class JavaDialectRuntimeData
- java.lang.Object
-
- org.drools.core.rule.JavaDialectRuntimeData
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,java.lang.Cloneable,org.drools.base.rule.DialectRuntimeData
public class JavaDialectRuntimeData extends java.lang.Object implements org.drools.base.rule.DialectRuntimeData, java.io.Externalizable- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description JavaDialectRuntimeData()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.drools.base.rule.DialectRuntimeDataclone(org.drools.base.rule.DialectRuntimeRegistry registry, java.lang.ClassLoader rootClassLoader)org.drools.base.rule.DialectRuntimeDataclone(org.drools.base.rule.DialectRuntimeRegistry registry, java.lang.ClassLoader rootClassLoader, boolean excludeClasses)byte[]getBytecode(java.lang.String resourceName)byte[]getClassDefinition(java.lang.String className)java.lang.ClassLoadergetClassLoader()java.lang.ClassLoadergetRootClassLoader()java.util.Map<java.lang.String,byte[]>getStore()booleanisDirty()voidmerge(org.drools.base.rule.DialectRuntimeRegistry registry, org.drools.base.rule.DialectRuntimeData newData)voidmerge(org.drools.base.rule.DialectRuntimeRegistry registry, org.drools.base.rule.DialectRuntimeData newData, boolean excludeClasses)voidonAdd(org.drools.base.rule.DialectRuntimeRegistry registry, java.lang.ClassLoader rootClassLoader)voidonBeforeExecute()voidonRemove()voidputAllClassDefinitions(java.util.Map classDefinitions)voidputAllInvokers(java.util.Map<java.lang.String,org.drools.base.rule.accessor.Wireable> invokers)voidputClassDefinition(java.lang.String className, byte[] classDef)voidputInvoker(java.lang.String className, org.drools.base.rule.accessor.Wireable invoker)byte[]read(java.lang.String resourceName)voidreadExternal(java.io.ObjectInput stream)Handles the read serialization of the PackageCompilationData.voidreload()This class drops the classLoader and reloads it.booleanremove(java.lang.String resourceName)voidremoveFunction(org.drools.base.definitions.impl.KnowledgePackageImpl pkg, org.drools.base.rule.Function function)voidremoveRule(org.drools.base.definitions.impl.KnowledgePackageImpl pkg, org.drools.base.definitions.rule.impl.RuleImpl rule)voidsetDirty(boolean dirty)java.lang.StringtoString()voidwrite(java.lang.String resourceName, byte[] clazzData)voidwriteExternal(java.io.ObjectOutput stream)Handles the write serialization of the PackageCompilationData.
-
-
-
Method Detail
-
writeExternal
public void writeExternal(java.io.ObjectOutput stream) throws java.io.IOExceptionHandles the write serialization of the PackageCompilationData. Patterns in Rules may reference generated data which cannot be serialized by default methods. The PackageCompilationData holds a reference to the generated bytecode. The generated bytecode must be restored before any Rules.- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput stream) throws java.io.IOException, java.lang.ClassNotFoundExceptionHandles the read serialization of the PackageCompilationData. Patterns in Rules may reference generated data which cannot be serialized by default methods. The PackageCompilationData holds a reference to the generated bytecode; which must be restored before any Rules. A custom ObjectInputStream, able to resolve classes against the bytecode, is used to restore the Rules.- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
onAdd
public void onAdd(org.drools.base.rule.DialectRuntimeRegistry registry, java.lang.ClassLoader rootClassLoader)- Specified by:
onAddin interfaceorg.drools.base.rule.DialectRuntimeData
-
onRemove
public void onRemove()
- Specified by:
onRemovein interfaceorg.drools.base.rule.DialectRuntimeData
-
onBeforeExecute
public void onBeforeExecute()
- Specified by:
onBeforeExecutein interfaceorg.drools.base.rule.DialectRuntimeData
-
clone
public org.drools.base.rule.DialectRuntimeData clone(org.drools.base.rule.DialectRuntimeRegistry registry, java.lang.ClassLoader rootClassLoader)- Specified by:
clonein interfaceorg.drools.base.rule.DialectRuntimeData
-
clone
public org.drools.base.rule.DialectRuntimeData clone(org.drools.base.rule.DialectRuntimeRegistry registry, java.lang.ClassLoader rootClassLoader, boolean excludeClasses)- Specified by:
clonein interfaceorg.drools.base.rule.DialectRuntimeData
-
merge
public void merge(org.drools.base.rule.DialectRuntimeRegistry registry, org.drools.base.rule.DialectRuntimeData newData)- Specified by:
mergein interfaceorg.drools.base.rule.DialectRuntimeData
-
merge
public void merge(org.drools.base.rule.DialectRuntimeRegistry registry, org.drools.base.rule.DialectRuntimeData newData, boolean excludeClasses)- Specified by:
mergein interfaceorg.drools.base.rule.DialectRuntimeData
-
isDirty
public boolean isDirty()
- Specified by:
isDirtyin interfaceorg.drools.base.rule.DialectRuntimeData
-
setDirty
public void setDirty(boolean dirty)
- Specified by:
setDirtyin interfaceorg.drools.base.rule.DialectRuntimeData
-
getStore
public java.util.Map<java.lang.String,byte[]> getStore()
-
getBytecode
public byte[] getBytecode(java.lang.String resourceName)
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
- Specified by:
getClassLoaderin interfaceorg.drools.base.rule.DialectRuntimeData
-
getRootClassLoader
public java.lang.ClassLoader getRootClassLoader()
- Specified by:
getRootClassLoaderin interfaceorg.drools.base.rule.DialectRuntimeData
-
removeRule
public void removeRule(org.drools.base.definitions.impl.KnowledgePackageImpl pkg, org.drools.base.definitions.rule.impl.RuleImpl rule)- Specified by:
removeRulein interfaceorg.drools.base.rule.DialectRuntimeData
-
removeFunction
public void removeFunction(org.drools.base.definitions.impl.KnowledgePackageImpl pkg, org.drools.base.rule.Function function)- Specified by:
removeFunctionin interfaceorg.drools.base.rule.DialectRuntimeData
-
read
public byte[] read(java.lang.String resourceName)
-
write
public void write(java.lang.String resourceName, byte[] clazzData)
-
remove
public boolean remove(java.lang.String resourceName)
- Specified by:
removein interfaceorg.drools.base.rule.DialectRuntimeData
-
reload
public void reload()
This class drops the classLoader and reloads it. During this process it must re-wire all the invokeables.- Specified by:
reloadin interfaceorg.drools.base.rule.DialectRuntimeData
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
putInvoker
public void putInvoker(java.lang.String className, org.drools.base.rule.accessor.Wireable invoker)
-
putAllInvokers
public void putAllInvokers(java.util.Map<java.lang.String,org.drools.base.rule.accessor.Wireable> invokers)
-
putClassDefinition
public void putClassDefinition(java.lang.String className, byte[] classDef)
-
putAllClassDefinitions
public void putAllClassDefinitions(java.util.Map classDefinitions)
-
getClassDefinition
public byte[] getClassDefinition(java.lang.String className)
-
-