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.DialectRuntimeData
clone(org.drools.base.rule.DialectRuntimeRegistry registry, java.lang.ClassLoader rootClassLoader)
org.drools.base.rule.DialectRuntimeData
clone(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.ClassLoader
getClassLoader()
java.lang.ClassLoader
getRootClassLoader()
java.util.Map<java.lang.String,byte[]>
getStore()
boolean
isDirty()
void
merge(org.drools.base.rule.DialectRuntimeRegistry registry, org.drools.base.rule.DialectRuntimeData newData)
void
merge(org.drools.base.rule.DialectRuntimeRegistry registry, org.drools.base.rule.DialectRuntimeData newData, boolean excludeClasses)
void
onAdd(org.drools.base.rule.DialectRuntimeRegistry registry, java.lang.ClassLoader rootClassLoader)
void
onBeforeExecute()
void
onRemove()
void
putAllClassDefinitions(java.util.Map classDefinitions)
void
putAllInvokers(java.util.Map<java.lang.String,org.drools.base.rule.accessor.Wireable> invokers)
void
putClassDefinition(java.lang.String className, byte[] classDef)
void
putInvoker(java.lang.String className, org.drools.base.rule.accessor.Wireable invoker)
byte[]
read(java.lang.String resourceName)
void
readExternal(java.io.ObjectInput stream)
Handles the read serialization of the PackageCompilationData.void
reload()
This class drops the classLoader and reloads it.boolean
remove(java.lang.String resourceName)
void
removeFunction(org.drools.base.definitions.impl.KnowledgePackageImpl pkg, org.drools.base.rule.Function function)
void
removeRule(org.drools.base.definitions.impl.KnowledgePackageImpl pkg, org.drools.base.definitions.rule.impl.RuleImpl rule)
void
setDirty(boolean dirty)
java.lang.String
toString()
void
write(java.lang.String resourceName, byte[] clazzData)
void
writeExternal(java.io.ObjectOutput stream)
Handles the write serialization of the PackageCompilationData.
-
-
-
Method Detail
-
writeExternal
public void writeExternal(java.io.ObjectOutput stream) throws java.io.IOException
Handles 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:
writeExternal
in interfacejava.io.Externalizable
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput stream) throws java.io.IOException, java.lang.ClassNotFoundException
Handles 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:
readExternal
in interfacejava.io.Externalizable
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
onAdd
public void onAdd(org.drools.base.rule.DialectRuntimeRegistry registry, java.lang.ClassLoader rootClassLoader)
- Specified by:
onAdd
in interfaceorg.drools.base.rule.DialectRuntimeData
-
onRemove
public void onRemove()
- Specified by:
onRemove
in interfaceorg.drools.base.rule.DialectRuntimeData
-
onBeforeExecute
public void onBeforeExecute()
- Specified by:
onBeforeExecute
in 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:
clone
in 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:
clone
in interfaceorg.drools.base.rule.DialectRuntimeData
-
merge
public void merge(org.drools.base.rule.DialectRuntimeRegistry registry, org.drools.base.rule.DialectRuntimeData newData)
- Specified by:
merge
in 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:
merge
in interfaceorg.drools.base.rule.DialectRuntimeData
-
isDirty
public boolean isDirty()
- Specified by:
isDirty
in interfaceorg.drools.base.rule.DialectRuntimeData
-
setDirty
public void setDirty(boolean dirty)
- Specified by:
setDirty
in 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:
getClassLoader
in interfaceorg.drools.base.rule.DialectRuntimeData
-
getRootClassLoader
public java.lang.ClassLoader getRootClassLoader()
- Specified by:
getRootClassLoader
in 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:
removeRule
in interfaceorg.drools.base.rule.DialectRuntimeData
-
removeFunction
public void removeFunction(org.drools.base.definitions.impl.KnowledgePackageImpl pkg, org.drools.base.rule.Function function)
- Specified by:
removeFunction
in 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:
remove
in 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:
reload
in interfaceorg.drools.base.rule.DialectRuntimeData
-
toString
public java.lang.String toString()
- Overrides:
toString
in 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)
-
-