FindBugs Report

Produced using FindBugs3.0.1.

Project: drools-multiproject

Metrics

110174 lines of code analyzed, in 2009 classes, in 73 packages.

Metric Total Density*
High Priority Warnings 124 1.13
Medium Priority Warnings 756 6.86
Total Warnings 880 7.99

(* Defects per Thousand lines of non-commenting source statements)



Summary

Warning Type Number
Bad practice Warnings 264
Correctness Warnings 36
Experimental Warnings 1
Internationalization Warnings 1
Malicious code vulnerability Warnings 313
Multithreaded correctness Warnings 19
Performance Warnings 72
Dodgy code Warnings 169
Total 875



Warnings

Click on each warning link to see a full description of the issue, and details of how to resolve it.

Bad practice Warnings

Warning Priority Details
Class defines clone() but doesn't implement Cloneable High

org.drools.core.base.MapGlobalResolver defines clone() but doesn't implement Cloneable


In file MapGlobalResolver.java, lines 124 to 129
In class org.drools.core.base.MapGlobalResolver
In method org.drools.core.base.MapGlobalResolver.clone()
At MapGlobalResolver.java:[lines 124-129]

clone method does not call super.clone() High

org.drools.core.common.DefaultFactHandle.clone() does not call super.clone()


In file DefaultFactHandle.java, lines 593 to 606
In class org.drools.core.common.DefaultFactHandle
In method org.drools.core.common.DefaultFactHandle.clone()
has subclass org.drools.core.common.EventFactHandle
At DefaultFactHandle.java:[lines 593-606]

clone method does not call super.clone() High

org.drools.core.rule.Pattern.clone() does not call super.clone()


In file Pattern.java, lines 203 to 246
In class org.drools.core.rule.Pattern
In method org.drools.core.rule.Pattern.clone()
has subclass org.drools.core.rule.XpathBackReference$RelativePattern
At Pattern.java:[lines 203-246]

Equals checks for incompatible operand High

org.drools.core.common.DoubleNonIndexSkipBetaConstraints.equals(Object) checks for operand being a DoubleBetaConstraints


In file DoubleNonIndexSkipBetaConstraints.java, line 129
In class org.drools.core.common.DoubleNonIndexSkipBetaConstraints
In method org.drools.core.common.DoubleNonIndexSkipBetaConstraints.equals(Object)
Actual type org.drools.core.common.DoubleBetaConstraints
At DoubleNonIndexSkipBetaConstraints.java:[line 129]
At DoubleNonIndexSkipBetaConstraints.java:[line 129]

Equals checks for incompatible operand High

org.drools.core.common.QuadroupleNonIndexSkipBetaConstraints.equals(Object) checks for operand being a QuadroupleBetaConstraints


In file QuadroupleNonIndexSkipBetaConstraints.java, line 134
In class org.drools.core.common.QuadroupleNonIndexSkipBetaConstraints
In method org.drools.core.common.QuadroupleNonIndexSkipBetaConstraints.equals(Object)
Actual type org.drools.core.common.QuadroupleBetaConstraints
At QuadroupleNonIndexSkipBetaConstraints.java:[line 134]
At QuadroupleNonIndexSkipBetaConstraints.java:[line 134]

Equals checks for incompatible operand High

org.drools.core.common.TripleNonIndexSkipBetaConstraints.equals(Object) checks for operand being a TripleBetaConstraints


In file TripleNonIndexSkipBetaConstraints.java, line 131
In class org.drools.core.common.TripleNonIndexSkipBetaConstraints
In method org.drools.core.common.TripleNonIndexSkipBetaConstraints.equals(Object)
Actual type org.drools.core.common.TripleBetaConstraints
At TripleNonIndexSkipBetaConstraints.java:[line 131]
At TripleNonIndexSkipBetaConstraints.java:[line 131]

Equals checks for incompatible operand High

org.drools.core.reteoo.QueryTerminalNode.equals(Object) checks for operand being a Rete


In file QueryTerminalNode.java, line 131
In class org.drools.core.reteoo.QueryTerminalNode
In method org.drools.core.reteoo.QueryTerminalNode.equals(Object)
Actual type org.drools.core.reteoo.Rete
At QueryTerminalNode.java:[line 131]
At QueryTerminalNode.java:[line 131]

Equals checks for incompatible operand High

org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider.equals(Object) checks for operand being a XpathConstraint$XpathChunk


In file XpathConstraint.java, line 502
In class org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider
In method org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider.equals(Object)
Actual type org.drools.core.rule.constraint.XpathConstraint$XpathChunk
At XpathConstraint.java:[line 502]
At XpathConstraint.java:[line 502]

Class defines equals() and uses Object.hashCode() High

org.drools.core.base.RuleNameSerializationAgendaFilter defines equals and uses Object.hashCode()


In file RuleNameSerializationAgendaFilter.java, lines 112 to 120
In class org.drools.core.base.RuleNameSerializationAgendaFilter
In method org.drools.core.base.RuleNameSerializationAgendaFilter.equals(Object)
At RuleNameSerializationAgendaFilter.java:[lines 112-120]

Class defines equals() and uses Object.hashCode() High

org.drools.core.factmodel.traits.TripleBasedTypes defines equals and uses Object.hashCode()


In file TripleBasedTypes.java, lines 165 to 182
In class org.drools.core.factmodel.traits.TripleBasedTypes
In method org.drools.core.factmodel.traits.TripleBasedTypes.equals(Object)
At TripleBasedTypes.java:[lines 165-182]

Class defines equals() and uses Object.hashCode() High

org.drools.core.RuleBaseConfiguration$AssertBehaviour defines equals and uses Object.hashCode()


In file RuleBaseConfiguration.java, lines 1038 to 1044
In class org.drools.core.RuleBaseConfiguration$AssertBehaviour
In method org.drools.core.RuleBaseConfiguration$AssertBehaviour.equals(Object)
At RuleBaseConfiguration.java:[lines 1038-1044]

Class defines equals() and uses Object.hashCode() High

org.drools.core.RuleBaseConfiguration$LogicalOverride defines equals and uses Object.hashCode()


In file RuleBaseConfiguration.java, lines 1126 to 1131
In class org.drools.core.RuleBaseConfiguration$LogicalOverride
In method org.drools.core.RuleBaseConfiguration$LogicalOverride.equals(Object)
At RuleBaseConfiguration.java:[lines 1126-1131]

Class names shouldn't shadow simple name of superclass High

The class name org.drools.core.ClassObjectFilter shadows the simple name of the superclass org.kie.api.runtime.ClassObjectFilter


In file ClassObjectFilter.java, lines 26 to 27
In class org.drools.core.ClassObjectFilter
In class org.kie.api.runtime.ClassObjectFilter
At ClassObjectFilter.java:[lines 26-27]

Class is Externalizable but doesn't define a void constructor High

org.drools.core.base.field.ClassFieldImpl is Externalizable but doesn't define a void constructor


In file ClassFieldImpl.java, lines 35 to 138
In class org.drools.core.base.field.ClassFieldImpl
At ClassFieldImpl.java:[lines 35-138]

Class is Externalizable but doesn't define a void constructor High

org.drools.core.base.TraitHelper is Externalizable but doesn't define a void constructor


In file TraitHelper.java, lines 73 to 689
In class org.drools.core.base.TraitHelper
At TraitHelper.java:[lines 73-689]

Non-transient non-serializable instance field in serializable class High

Class org.drools.core.command.runtime.rule.GetObjectsCommand defines non-transient non-serializable instance field classObjectFilter


In file GetObjectsCommand.java, lines to
In class org.drools.core.command.runtime.rule.GetObjectsCommand
Field org.drools.core.command.runtime.rule.GetObjectsCommand.classObjectFilter
Actual type org.drools.core.ClassObjectSerializationFilter
In GetObjectsCommand.java

Non-transient non-serializable instance field in serializable class High

Class org.drools.core.common.AgendaItemImpl defines non-transient non-serializable instance field activationGroupNode


In file AgendaItemImpl.java, lines to
In class org.drools.core.common.AgendaItemImpl
Field org.drools.core.common.AgendaItemImpl.activationGroupNode
Actual type org.drools.core.common.ActivationGroupNode
In AgendaItemImpl.java

Non-transient non-serializable instance field in serializable class High

Class org.drools.core.common.AgendaItemImpl defines non-transient non-serializable instance field activationNode


In file AgendaItemImpl.java, lines to
In class org.drools.core.common.AgendaItemImpl
Field org.drools.core.common.AgendaItemImpl.activationNode
Actual type org.drools.core.common.ActivationNode
In AgendaItemImpl.java

Class is Externalizable but doesn't define a void constructor High

org.drools.core.event.rule.impl.ActivationEventImpl is Externalizable but doesn't define a void constructor


In file ActivationEventImpl.java, lines 29 to 60
In class org.drools.core.event.rule.impl.ActivationEventImpl
At ActivationEventImpl.java:[lines 29-60]

Class is Externalizable but doesn't define a void constructor High

org.drools.core.event.rule.impl.AgendaGroupEventImpl is Externalizable but doesn't define a void constructor


In file AgendaGroupEventImpl.java, lines 28 to 59
In class org.drools.core.event.rule.impl.AgendaGroupEventImpl
At AgendaGroupEventImpl.java:[lines 28-59]

Class is Externalizable but doesn't define a void constructor High

org.drools.core.event.rule.impl.RuleFlowGroupEventImpl is Externalizable but doesn't define a void constructor


In file RuleFlowGroupEventImpl.java, lines 28 to 59
In class org.drools.core.event.rule.impl.RuleFlowGroupEventImpl
At RuleFlowGroupEventImpl.java:[lines 28-59]

Class is Externalizable but doesn't define a void constructor High

org.drools.core.event.rule.impl.SerializableAgendaGroup is Externalizable but doesn't define a void constructor


In file SerializableAgendaGroup.java, lines 30 to 56
In class org.drools.core.event.rule.impl.SerializableAgendaGroup
At SerializableAgendaGroup.java:[lines 30-56]

Class is Externalizable but doesn't define a void constructor High

org.drools.core.event.rule.impl.SerializableRuleFlowGroup is Externalizable but doesn't define a void constructor


In file SerializableRuleFlowGroup.java, lines 30 to 52
In class org.drools.core.event.rule.impl.SerializableRuleFlowGroup
At SerializableRuleFlowGroup.java:[lines 30-52]

Class is Externalizable but doesn't define a void constructor High

org.drools.core.io.impl.EncodedResource is Externalizable but doesn't define a void constructor


In file EncodedResource.java, lines 45 to 138
In class org.drools.core.io.impl.EncodedResource
At EncodedResource.java:[lines 45-138]

Class is Externalizable but doesn't define a void constructor High

org.drools.core.process.instance.impl.DefaultWorkItemManager is Externalizable but doesn't define a void constructor


In file DefaultWorkItemManager.java, lines 42 to 177
In class org.drools.core.process.instance.impl.DefaultWorkItemManager
At DefaultWorkItemManager.java:[lines 42-177]

Non-transient non-serializable instance field in serializable class High

Class org.drools.core.reteoo.FromNode$FromMemory defines non-transient non-serializable instance field betaMemory


In file FromNode.java, lines to
In class org.drools.core.reteoo.FromNode$FromMemory
Field org.drools.core.reteoo.FromNode$FromMemory.betaMemory
Actual type org.drools.core.reteoo.BetaMemory
In FromNode.java

Class is Externalizable but doesn't define a void constructor High

org.drools.core.reteoo.ObjectTypeNode$ExpireJobContext is Externalizable but doesn't define a void constructor


In file ObjectTypeNode.java, lines 553 to 590
In class org.drools.core.reteoo.ObjectTypeNode$ExpireJobContext
At ObjectTypeNode.java:[lines 553-590]

Class is Externalizable but doesn't define a void constructor High

org.drools.core.reteoo.RuleRemovalContext is Externalizable but doesn't define a void constructor


In file RuleRemovalContext.java, lines 46 to 85
In class org.drools.core.reteoo.RuleRemovalContext
At RuleRemovalContext.java:[lines 46-85]

Non-transient non-serializable instance field in serializable class High

Class org.drools.core.reteoo.RuleTerminalNodeLeftTuple defines non-transient non-serializable instance field activationGroupNode


In file RuleTerminalNodeLeftTuple.java, lines to
In class org.drools.core.reteoo.RuleTerminalNodeLeftTuple
Field org.drools.core.reteoo.RuleTerminalNodeLeftTuple.activationGroupNode
Actual type org.drools.core.common.ActivationGroupNode
In RuleTerminalNodeLeftTuple.java

Non-transient non-serializable instance field in serializable class High

Class org.drools.core.reteoo.RuleTerminalNodeLeftTuple defines non-transient non-serializable instance field activationNode


In file RuleTerminalNodeLeftTuple.java, lines to
In class org.drools.core.reteoo.RuleTerminalNodeLeftTuple
Field org.drools.core.reteoo.RuleTerminalNodeLeftTuple.activationNode
Actual type org.drools.core.common.ActivationNode
In RuleTerminalNodeLeftTuple.java

Class is Externalizable but doesn't define a void constructor High

org.drools.core.rule.SlidingLengthWindow$SlidingLengthWindowContext is Externalizable but doesn't define a void constructor


In file SlidingLengthWindow.java, lines 163 to 182
In class org.drools.core.rule.SlidingLengthWindow$SlidingLengthWindowContext
At SlidingLengthWindow.java:[lines 163-182]

Class is Externalizable but doesn't define a void constructor High

org.drools.core.rule.SlidingTimeWindow$BehaviorJobContext is Externalizable but doesn't define a void constructor


In file SlidingTimeWindow.java, lines 377 to 403
In class org.drools.core.rule.SlidingTimeWindow$BehaviorJobContext
At SlidingTimeWindow.java:[lines 377-403]

Non-transient non-serializable instance field in serializable class High

Class org.drools.core.util.RBTree defines non-transient non-serializable instance field root


In file RBTree.java, lines to
In class org.drools.core.util.RBTree
Field org.drools.core.util.RBTree.root
Actual type org.drools.core.util.RBTree$Node<K,V>
In RBTree.java

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.factmodel.FieldDefinition assumes the argument is of type FieldDefinition


In file FieldDefinition.java, line 199
In class org.drools.core.factmodel.FieldDefinition
In method org.drools.core.factmodel.FieldDefinition.equals(Object)
At FieldDefinition.java:[line 199]
At FieldDefinition.java:[line 199]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.AccumulateNode assumes the argument is of type AccumulateNode


In file AccumulateNode.java, line 174
In class org.drools.core.reteoo.AccumulateNode
In method org.drools.core.reteoo.AccumulateNode.equals(Object)
At AccumulateNode.java:[line 174]
At AccumulateNode.java:[line 174]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.AlphaNode assumes the argument is of type AlphaNode


In file AlphaNode.java, line 186
In class org.drools.core.reteoo.AlphaNode
In method org.drools.core.reteoo.AlphaNode.equals(Object)
At AlphaNode.java:[line 186]
At AlphaNode.java:[line 186]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.BetaNode assumes the argument is of type BetaNode


In file BetaNode.java, line 560
In class org.drools.core.reteoo.BetaNode
In method org.drools.core.reteoo.BetaNode.equals(Object)
At BetaNode.java:[line 560]
At BetaNode.java:[line 560]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.CompositeObjectSinkAdapter$HashKey assumes the argument is of type CompositeObjectSinkAdapter$HashKey


In file CompositeObjectSinkAdapter.java, line 857
In class org.drools.core.reteoo.CompositeObjectSinkAdapter$HashKey
In method org.drools.core.reteoo.CompositeObjectSinkAdapter$HashKey.equals(Object)
At CompositeObjectSinkAdapter.java:[line 857]
At CompositeObjectSinkAdapter.java:[line 857]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.ConditionalBranchNode assumes the argument is of type ConditionalBranchNode


In file ConditionalBranchNode.java, line 105
In class org.drools.core.reteoo.ConditionalBranchNode
In method org.drools.core.reteoo.ConditionalBranchNode.equals(Object)
At ConditionalBranchNode.java:[line 105]
At ConditionalBranchNode.java:[line 105]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.EvalConditionNode assumes the argument is of type EvalConditionNode


In file EvalConditionNode.java, line 139
In class org.drools.core.reteoo.EvalConditionNode
In method org.drools.core.reteoo.EvalConditionNode.equals(Object)
At EvalConditionNode.java:[line 139]
At EvalConditionNode.java:[line 139]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.FromNode assumes the argument is of type FromNode


In file FromNode.java, line 130
In class org.drools.core.reteoo.FromNode
In method org.drools.core.reteoo.FromNode.equals(Object)
At FromNode.java:[line 130]
At FromNode.java:[line 130]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.LeftInputAdapterNode assumes the argument is of type LeftInputAdapterNode


In file LeftInputAdapterNode.java, line 481
In class org.drools.core.reteoo.LeftInputAdapterNode
In method org.drools.core.reteoo.LeftInputAdapterNode.equals(Object)
At LeftInputAdapterNode.java:[line 481]
At LeftInputAdapterNode.java:[line 481]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.ObjectTypeNode assumes the argument is of type ObjectTypeNode


In file ObjectTypeNode.java, line 497
In class org.drools.core.reteoo.ObjectTypeNode
In method org.drools.core.reteoo.ObjectTypeNode.equals(Object)
At ObjectTypeNode.java:[line 497]
At ObjectTypeNode.java:[line 497]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.PropagationQueuingNode assumes the argument is of type PropagationQueuingNode


In file PropagationQueuingNode.java, line 271
In class org.drools.core.reteoo.PropagationQueuingNode
In method org.drools.core.reteoo.PropagationQueuingNode.equals(Object)
At PropagationQueuingNode.java:[line 271]
At PropagationQueuingNode.java:[line 271]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.QueryElementNode assumes the argument is of type QueryElementNode


In file QueryElementNode.java, line 620
In class org.drools.core.reteoo.QueryElementNode
In method org.drools.core.reteoo.QueryElementNode.equals(Object)
At QueryElementNode.java:[line 620]
At QueryElementNode.java:[line 620]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.QueryTerminalNode assumes the argument is of type QueryTerminalNode


In file QueryTerminalNode.java, line 131
In class org.drools.core.reteoo.QueryTerminalNode
In method org.drools.core.reteoo.QueryTerminalNode.equals(Object)
At QueryTerminalNode.java:[line 131]
At QueryTerminalNode.java:[line 131]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.RightInputAdapterNode assumes the argument is of type RightInputAdapterNode


In file RightInputAdapterNode.java, line 267
In class org.drools.core.reteoo.RightInputAdapterNode
In method org.drools.core.reteoo.RightInputAdapterNode.equals(Object)
At RightInputAdapterNode.java:[line 267]
At RightInputAdapterNode.java:[line 267]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.TimerNode assumes the argument is of type TimerNode


In file TimerNode.java, line 142
In class org.drools.core.reteoo.TimerNode
In method org.drools.core.reteoo.TimerNode.equals(Object)
At TimerNode.java:[line 142]
At TimerNode.java:[line 142]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.WindowNode assumes the argument is of type WindowNode


In file WindowNode.java, line 295
In class org.drools.core.reteoo.WindowNode
In method org.drools.core.reteoo.WindowNode.equals(Object)
At WindowNode.java:[line 295]
At WindowNode.java:[line 295]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.reteoo.WindowTupleList assumes the argument is of type WindowTupleList


In file WindowTupleList.java, line 164
In class org.drools.core.reteoo.WindowTupleList
In method org.drools.core.reteoo.WindowTupleList.equals(Object)
At WindowTupleList.java:[line 164]
At WindowTupleList.java:[line 164]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.util.ClassUtils$SetterInClass assumes the argument is of type ClassUtils$SetterInClass


In file ClassUtils.java, line 554
In class org.drools.core.util.ClassUtils$SetterInClass
In method org.drools.core.util.ClassUtils$SetterInClass.equals(Object)
At ClassUtils.java:[line 554]
At ClassUtils.java:[line 554]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.util.index.TupleList assumes the argument is of type TupleList


In file TupleList.java, line 248
In class org.drools.core.util.index.TupleList
In method org.drools.core.util.index.TupleList.equals(Object)
At TupleList.java:[line 248]
At TupleList.java:[line 248]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.util.ObjectHashMap$ObjectEntry assumes the argument is of type ObjectHashMap$ObjectEntry


In file ObjectHashMap.java, line 213
In class org.drools.core.util.ObjectHashMap$ObjectEntry
In method org.drools.core.util.ObjectHashMap$ObjectEntry.equals(Object)
At ObjectHashMap.java:[line 213]
At ObjectHashMap.java:[line 213]

Equals method should not assume anything about the type of its argument Medium

Equals method for org.drools.core.util.ObjectHashSet$ObjectEntry assumes the argument is of type ObjectHashSet$ObjectEntry


In file ObjectHashSet.java, line 212
In class org.drools.core.util.ObjectHashSet$ObjectEntry
In method org.drools.core.util.ObjectHashSet$ObjectEntry.equals(Object)
At ObjectHashSet.java:[line 212]
At ObjectHashSet.java:[line 212]

clone method does not call super.clone() Medium

org.drools.core.base.dataproviders.MVELDataProvider.clone() does not call super.clone()


In file MVELDataProvider.java, lines 153 to 159
In class org.drools.core.base.dataproviders.MVELDataProvider
In method org.drools.core.base.dataproviders.MVELDataProvider.clone()
At MVELDataProvider.java:[lines 153-159]

clone method does not call super.clone() Medium

org.drools.core.base.mvel.MVELCompilationUnit.clone() does not call super.clone()


In file MVELCompilationUnit.java, lines 485 to 509
In class org.drools.core.base.mvel.MVELCompilationUnit
In method org.drools.core.base.mvel.MVELCompilationUnit.clone()
At MVELCompilationUnit.java:[lines 485-509]

clone method does not call super.clone() Medium

org.drools.core.base.mvel.MVELEvalExpression.clone() does not call super.clone()


In file MVELEvalExpression.java, lines 121 to 126
In class org.drools.core.base.mvel.MVELEvalExpression
In method org.drools.core.base.mvel.MVELEvalExpression.clone()
At MVELEvalExpression.java:[lines 121-126]

clone method does not call super.clone() Medium

org.drools.core.common.DisconnectedFactHandle.clone() does not call super.clone()


In file DisconnectedFactHandle.java, line 266
In class org.drools.core.common.DisconnectedFactHandle
In method org.drools.core.common.DisconnectedFactHandle.clone()
At DisconnectedFactHandle.java:[line 266]

clone method does not call super.clone() Medium

org.drools.core.common.EventFactHandle.clone() does not call super.clone()


In file EventFactHandle.java, lines 201 to 218
In class org.drools.core.common.EventFactHandle
In method org.drools.core.common.EventFactHandle.clone()
At EventFactHandle.java:[lines 201-218]

clone method does not call super.clone() Medium

org.drools.core.common.InstanceEqualsConstraint.clone() does not call super.clone()


In file InstanceEqualsConstraint.java, line 105
In class org.drools.core.common.InstanceEqualsConstraint
In method org.drools.core.common.InstanceEqualsConstraint.clone()
At InstanceEqualsConstraint.java:[line 105]

clone method does not call super.clone() Medium

org.drools.core.common.InstanceNotEqualsConstraint.clone() does not call super.clone()


In file InstanceNotEqualsConstraint.java, line 116
In class org.drools.core.common.InstanceNotEqualsConstraint
In method org.drools.core.common.InstanceNotEqualsConstraint.clone()
At InstanceNotEqualsConstraint.java:[line 116]

clone method does not call super.clone() Medium

org.drools.core.common.QueryElementFactHandle.clone() does not call super.clone()


In file QueryElementFactHandle.java, line 166
In class org.drools.core.common.QueryElementFactHandle
In method org.drools.core.common.QueryElementFactHandle.clone()
At QueryElementFactHandle.java:[line 166]

clone method does not call super.clone() Medium

org.drools.core.common.TupleStartEqualsConstraint.clone() does not call super.clone()


In file TupleStartEqualsConstraint.java, line 119
In class org.drools.core.common.TupleStartEqualsConstraint
In method org.drools.core.common.TupleStartEqualsConstraint.clone()
At TupleStartEqualsConstraint.java:[line 119]

clone method does not call super.clone() Medium

org.drools.core.rule.Collect.clone() does not call super.clone()


In file Collect.java, lines 66 to 79
In class org.drools.core.rule.Collect
In method org.drools.core.rule.Collect.clone()
At Collect.java:[lines 66-79]

clone method does not call super.clone() Medium

org.drools.core.rule.ConditionalBranch.clone() does not call super.clone()


In file ConditionalBranch.java, line 61
In class org.drools.core.rule.ConditionalBranch
In method org.drools.core.rule.ConditionalBranch.clone()
At ConditionalBranch.java:[line 61]

clone method does not call super.clone() Medium

org.drools.core.rule.constraint.EvaluatorConstraint.clone() does not call super.clone()


In file EvaluatorConstraint.java, lines 137 to 143
In class org.drools.core.rule.constraint.EvaluatorConstraint
In method org.drools.core.rule.constraint.EvaluatorConstraint.clone()
At EvaluatorConstraint.java:[lines 137-143]

clone method does not call super.clone() Medium

org.drools.core.rule.constraint.MvelConstraint.clone() does not call super.clone()


In file MvelConstraint.java, lines 544 to 561
In class org.drools.core.rule.constraint.MvelConstraint
In method org.drools.core.rule.constraint.MvelConstraint.clone()
At MvelConstraint.java:[lines 544-561]

clone method does not call super.clone() Medium

org.drools.core.rule.constraint.NegConstraint.clone() does not call super.clone()


In file NegConstraint.java, lines 72 to 74
In class org.drools.core.rule.constraint.NegConstraint
In method org.drools.core.rule.constraint.NegConstraint.clone()
At NegConstraint.java:[lines 72-74]

clone method does not call super.clone() Medium

org.drools.core.rule.constraint.QueryNameConstraint.clone() does not call super.clone()


In file QueryNameConstraint.java, line 97
In class org.drools.core.rule.constraint.QueryNameConstraint
In method org.drools.core.rule.constraint.QueryNameConstraint.clone()
At QueryNameConstraint.java:[line 97]

clone method does not call super.clone() Medium

org.drools.core.rule.constraint.XpathConstraint.clone() does not call super.clone()


In file XpathConstraint.java, lines 94 to 101
In class org.drools.core.rule.constraint.XpathConstraint
In method org.drools.core.rule.constraint.XpathConstraint.clone()
At XpathConstraint.java:[lines 94-101]

clone method does not call super.clone() Medium

org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider.clone() does not call super.clone()


In file XpathConstraint.java, line 484
In class org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider
In method org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider.clone()
At XpathConstraint.java:[line 484]

clone method does not call super.clone() Medium

org.drools.core.rule.Declaration.clone() does not call super.clone()


In file Declaration.java, line 338
In class org.drools.core.rule.Declaration
In method org.drools.core.rule.Declaration.clone()
At Declaration.java:[line 338]

clone method does not call super.clone() Medium

org.drools.core.rule.EntryPointId.clone() does not call super.clone()


In file EntryPointId.java, line 71
In class org.drools.core.rule.EntryPointId
In method org.drools.core.rule.EntryPointId.clone()
At EntryPointId.java:[line 71]

clone method does not call super.clone() Medium

org.drools.core.rule.EvalCondition.clone() does not call super.clone()


In file EvalCondition.java, lines 129 to 138
In class org.drools.core.rule.EvalCondition
In method org.drools.core.rule.EvalCondition.clone()
At EvalCondition.java:[lines 129-138]

clone method does not call super.clone() Medium

org.drools.core.rule.EvalCondition$SafeEvalExpression.clone() does not call super.clone()


In file EvalCondition.java, line 251
In class org.drools.core.rule.EvalCondition$SafeEvalExpression
In method org.drools.core.rule.EvalCondition$SafeEvalExpression.clone()
At EvalCondition.java:[line 251]

clone method does not call super.clone() Medium

org.drools.core.rule.Forall.clone() does not call super.clone()


In file Forall.java, line 74
In class org.drools.core.rule.Forall
In method org.drools.core.rule.Forall.clone()
At Forall.java:[line 74]

clone method does not call super.clone() Medium

org.drools.core.rule.From.clone() does not call super.clone()


In file From.java, line 98
In class org.drools.core.rule.From
In method org.drools.core.rule.From.clone()
At From.java:[line 98]

clone method does not call super.clone() Medium

org.drools.core.rule.GroupElement.clone() does not call super.clone()


In file GroupElement.java, line 292
In class org.drools.core.rule.GroupElement
In method org.drools.core.rule.GroupElement.clone()
At GroupElement.java:[line 292]

clone method does not call super.clone() Medium

org.drools.core.rule.MultiAccumulate.clone() does not call super.clone()


In file MultiAccumulate.java, lines 178 to 183
In class org.drools.core.rule.MultiAccumulate
In method org.drools.core.rule.MultiAccumulate.clone()
At MultiAccumulate.java:[lines 178-183]

clone method does not call super.clone() Medium

org.drools.core.rule.NamedConsequence.clone() does not call super.clone()


In file NamedConsequence.java, line 62
In class org.drools.core.rule.NamedConsequence
In method org.drools.core.rule.NamedConsequence.clone()
At NamedConsequence.java:[line 62]

clone method does not call super.clone() Medium

org.drools.core.rule.PredicateConstraint.clone() does not call super.clone()


In file PredicateConstraint.java, lines 357 to 379
In class org.drools.core.rule.PredicateConstraint
In method org.drools.core.rule.PredicateConstraint.clone()
At PredicateConstraint.java:[lines 357-379]

clone method does not call super.clone() Medium

org.drools.core.rule.QueryElement.clone() does not call super.clone()


In file QueryElement.java, line 157
In class org.drools.core.rule.QueryElement
In method org.drools.core.rule.QueryElement.clone()
At QueryElement.java:[line 157]

clone method does not call super.clone() Medium

org.drools.core.rule.ReturnValueRestriction.clone() does not call super.clone()


In file ReturnValueRestriction.java, lines 372 to 395
In class org.drools.core.rule.ReturnValueRestriction
In method org.drools.core.rule.ReturnValueRestriction.clone()
At ReturnValueRestriction.java:[lines 372-395]

clone method does not call super.clone() Medium

org.drools.core.rule.SingleAccumulate.clone() does not call super.clone()


In file SingleAccumulate.java, lines 149 to 154
In class org.drools.core.rule.SingleAccumulate
In method org.drools.core.rule.SingleAccumulate.clone()
At SingleAccumulate.java:[lines 149-154]

clone method does not call super.clone() Medium

org.drools.core.rule.WindowReference.clone() does not call super.clone()


In file WindowReference.java, line 59
In class org.drools.core.rule.WindowReference
In method org.drools.core.rule.WindowReference.clone()
At WindowReference.java:[line 59]

clone method does not call super.clone() Medium

org.drools.core.time.impl.CompositeMaxDurationTimer.clone() does not call super.clone()


In file CompositeMaxDurationTimer.java, lines 125 to 135
In class org.drools.core.time.impl.CompositeMaxDurationTimer
In method org.drools.core.time.impl.CompositeMaxDurationTimer.clone()
At CompositeMaxDurationTimer.java:[lines 125-135]

clone method does not call super.clone() Medium

org.drools.core.time.impl.CronExpression.clone() does not call super.clone()


In file CronExpression.java, lines 1578 to 1586
In class org.drools.core.time.impl.CronExpression
In method org.drools.core.time.impl.CronExpression.clone()
At CronExpression.java:[lines 1578-1586]

clone method does not call super.clone() Medium

org.drools.core.time.impl.CronTimer.clone() does not call super.clone()


In file CronTimer.java, line 179
In class org.drools.core.time.impl.CronTimer
In method org.drools.core.time.impl.CronTimer.clone()
At CronTimer.java:[line 179]

clone method does not call super.clone() Medium

org.drools.core.time.impl.DurationTimer.clone() does not call super.clone()


In file DurationTimer.java, line 136
In class org.drools.core.time.impl.DurationTimer
In method org.drools.core.time.impl.DurationTimer.clone()
At DurationTimer.java:[line 136]

clone method does not call super.clone() Medium

org.drools.core.time.impl.ExpressionIntervalTimer.clone() does not call super.clone()


In file ExpressionIntervalTimer.java, line 221
In class org.drools.core.time.impl.ExpressionIntervalTimer
In method org.drools.core.time.impl.ExpressionIntervalTimer.clone()
At ExpressionIntervalTimer.java:[line 221]

clone method does not call super.clone() Medium

org.drools.core.time.impl.IntervalTimer.clone() does not call super.clone()


In file IntervalTimer.java, line 205
In class org.drools.core.time.impl.IntervalTimer
In method org.drools.core.time.impl.IntervalTimer.clone()
At IntervalTimer.java:[line 205]

clone method does not call super.clone() Medium

org.drools.core.time.Interval.clone() does not call super.clone()


In file Interval.java, line 91
In class org.drools.core.time.Interval
In method org.drools.core.time.Interval.clone()
At Interval.java:[line 91]

clone method does not call super.clone() Medium

org.drools.core.util.bitmask.AllSetBitMask.clone() does not call super.clone()


In file AllSetBitMask.java, line 84
In class org.drools.core.util.bitmask.AllSetBitMask
In method org.drools.core.util.bitmask.AllSetBitMask.clone()
At AllSetBitMask.java:[line 84]

clone method does not call super.clone() Medium

org.drools.core.util.bitmask.AllSetButLastBitMask.clone() does not call super.clone()


In file AllSetButLastBitMask.java, line 92
In class org.drools.core.util.bitmask.AllSetButLastBitMask
In method org.drools.core.util.bitmask.AllSetButLastBitMask.clone()
At AllSetButLastBitMask.java:[line 92]

clone method does not call super.clone() Medium

org.drools.core.util.bitmask.EmptyBitMask.clone() does not call super.clone()


In file EmptyBitMask.java, line 70
In class org.drools.core.util.bitmask.EmptyBitMask
In method org.drools.core.util.bitmask.EmptyBitMask.clone()
At EmptyBitMask.java:[line 70]

clone method does not call super.clone() Medium

org.drools.core.util.bitmask.EmptyButLastBitMask.clone() does not call super.clone()


In file EmptyButLastBitMask.java, line 76
In class org.drools.core.util.bitmask.EmptyButLastBitMask
In method org.drools.core.util.bitmask.EmptyButLastBitMask.clone()
At EmptyButLastBitMask.java:[line 76]

clone method does not call super.clone() Medium

org.drools.core.util.bitmask.LongBitMask.clone() does not call super.clone()


In file LongBitMask.java, line 108
In class org.drools.core.util.bitmask.LongBitMask
In method org.drools.core.util.bitmask.LongBitMask.clone()
At LongBitMask.java:[line 108]

Method might ignore exception Medium

new org.drools.core.base.field.ClassFieldImpl(String) might ignore java.lang.ClassNotFoundException


In file ClassFieldImpl.java, line 44
In class org.drools.core.base.field.ClassFieldImpl
In method new org.drools.core.base.field.ClassFieldImpl(String)
Exception class java.lang.ClassNotFoundException
At ClassFieldImpl.java:[line 44]
At ClassFieldImpl.java:[line 44]
At ClassFieldImpl.java:[line 44]

Method might ignore exception Medium

new org.drools.core.common.ProjectClassLoader$IBMClassLoader(ClassLoader, ResourceProvider) might ignore java.lang.NoSuchMethodException


In file ProjectClassLoader.java, line 74
In class org.drools.core.common.ProjectClassLoader$IBMClassLoader
In method new org.drools.core.common.ProjectClassLoader$IBMClassLoader(ClassLoader, ResourceProvider)
Exception class java.lang.NoSuchMethodException
At ProjectClassLoader.java:[line 74]
At ProjectClassLoader.java:[line 74]
At ProjectClassLoader.java:[line 74]

Method might ignore exception Medium

org.drools.core.io.impl.ClassPathResource.getLastModified() might ignore java.io.IOException


In file ClassPathResource.java, line 217
In class org.drools.core.io.impl.ClassPathResource
In method org.drools.core.io.impl.ClassPathResource.getLastModified()
Exception class java.io.IOException
At ClassPathResource.java:[line 217]
At ClassPathResource.java:[line 217]
At ClassPathResource.java:[line 217]

equals method fails for subtypes Medium

org.drools.core.base.ClassObjectType.equals(Object) fails for subtypes


In file ClassObjectType.java, line 223
In class org.drools.core.base.ClassObjectType
In method org.drools.core.base.ClassObjectType.equals(Object)
At ClassObjectType.java:[line 223]
At ClassObjectType.java:[line 223]

equals method fails for subtypes Medium

org.drools.core.facttemplates.FactImpl.equals(Object) fails for subtypes


In file FactImpl.java, line 155
In class org.drools.core.facttemplates.FactImpl
In method org.drools.core.facttemplates.FactImpl.equals(Object)
At FactImpl.java:[line 155]
At FactImpl.java:[line 155]

equals method fails for subtypes Medium

org.drools.core.rule.AbstractCompositeConstraint.equals(Object) fails for subtypes


In file AbstractCompositeConstraint.java, line 210
In class org.drools.core.rule.AbstractCompositeConstraint
In method org.drools.core.rule.AbstractCompositeConstraint.equals(Object)
At AbstractCompositeConstraint.java:[line 210]
At AbstractCompositeConstraint.java:[line 210]

Class defines compareTo(...) and uses Object.equals() Medium

org.drools.core.rule.builder.dialect.asm.GeneratorHelper$DeclarationMatcher defines compareTo(Object) and uses Object.equals()


In file GeneratorHelper.java, line 81
In class org.drools.core.rule.builder.dialect.asm.GeneratorHelper$DeclarationMatcher
In method org.drools.core.rule.builder.dialect.asm.GeneratorHelper$DeclarationMatcher.compareTo(Object)
At GeneratorHelper.java:[line 81]

equals method fails for subtypes Medium

org.drools.core.rule.constraint.MvelConstraint.equals(Object) fails for subtypes


In file MvelConstraint.java, line 583
In class org.drools.core.rule.constraint.MvelConstraint
In method org.drools.core.rule.constraint.MvelConstraint.equals(Object)
At MvelConstraint.java:[line 583]
At MvelConstraint.java:[line 583]

equals method fails for subtypes Medium

org.drools.core.rule.EvalCondition.equals(Object) fails for subtypes


In file EvalCondition.java, line 150
In class org.drools.core.rule.EvalCondition
In method org.drools.core.rule.EvalCondition.equals(Object)
At EvalCondition.java:[line 150]
At EvalCondition.java:[line 150]

equals method fails for subtypes Medium

org.drools.core.rule.PredicateConstraint.equals(Object) fails for subtypes


In file PredicateConstraint.java, line 241
In class org.drools.core.rule.PredicateConstraint
In method org.drools.core.rule.PredicateConstraint.equals(Object)
At PredicateConstraint.java:[line 241]
At PredicateConstraint.java:[line 241]

equals method fails for subtypes Medium

org.drools.core.rule.ReturnValueRestriction.equals(Object) fails for subtypes


In file ReturnValueRestriction.java, line 318
In class org.drools.core.rule.ReturnValueRestriction
In method org.drools.core.rule.ReturnValueRestriction.equals(Object)
At ReturnValueRestriction.java:[line 318]
At ReturnValueRestriction.java:[line 318]

Class defines compareTo(...) and uses Object.equals() Medium

org.drools.core.time.impl.DefaultTimerJobInstance defines compareTo(DefaultTimerJobInstance) and uses Object.equals()


In file DefaultTimerJobInstance.java, line 60
In class org.drools.core.time.impl.DefaultTimerJobInstance
In method org.drools.core.time.impl.DefaultTimerJobInstance.compareTo(DefaultTimerJobInstance)
At DefaultTimerJobInstance.java:[line 60]

Class defines compareTo(...) and uses Object.equals() Medium

org.drools.core.util.RBTree$Node defines compareTo(RBTree$Node) and uses Object.equals()


In file RBTree.java, line 549
In class org.drools.core.util.RBTree$Node
In method org.drools.core.util.RBTree$Node.compareTo(RBTree$Node)
At RBTree.java:[line 549]

Class inherits equals() and uses Object.hashCode() Medium

org.drools.core.factmodel.traits.TripleBasedBean inherits equals and uses Object.hashCode()


In file TripleBasedBean.java, lines 32 to 61
In class org.drools.core.factmodel.traits.TripleBasedBean
At TripleBasedBean.java:[lines 32-61]

Class defines equals() and uses Object.hashCode() Medium

org.drools.core.factmodel.traits.TripleBasedStruct defines equals and uses Object.hashCode()


In file TripleBasedStruct.java, lines 156 to 173
In class org.drools.core.factmodel.traits.TripleBasedStruct
In method org.drools.core.factmodel.traits.TripleBasedStruct.equals(Object)
At TripleBasedStruct.java:[lines 156-173]

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.base.evaluators.EvaluatorDefinition shadows the simple name of implemented interface org.kie.api.runtime.rule.EvaluatorDefinition


In file EvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.EvaluatorDefinition
In class org.kie.api.runtime.rule.EvaluatorDefinition
In EvaluatorDefinition.java

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.base.evaluators.Operator shadows the simple name of implemented interface org.kie.api.runtime.rule.Operator


In file Operator.java, lines 36 to 187
In class org.drools.core.base.evaluators.Operator
In class org.kie.api.runtime.rule.Operator
At Operator.java:[lines 36-187]

Method names should start with a lower case letter Medium

The method name org.drools.core.builder.conf.impl.ScoreCardConfigurationImpl.IsUsingExternalTypes() doesn't start with a lower case letter


In file ScoreCardConfigurationImpl.java, line 54
In class org.drools.core.builder.conf.impl.ScoreCardConfigurationImpl
In method org.drools.core.builder.conf.impl.ScoreCardConfigurationImpl.IsUsingExternalTypes()
At ScoreCardConfigurationImpl.java:[line 54]

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.ObjectFilter shadows the simple name of implemented interface org.kie.api.runtime.ObjectFilter


In file ObjectFilter.java, lines to
In class org.drools.core.ObjectFilter
In class org.kie.api.runtime.ObjectFilter
In ObjectFilter.java

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.process.instance.WorkItem shadows the simple name of implemented interface org.kie.api.runtime.process.WorkItem


In file WorkItem.java, lines to
In class org.drools.core.process.instance.WorkItem
In class org.kie.api.runtime.process.WorkItem
In WorkItem.java

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.process.instance.WorkItemHandler shadows the simple name of implemented interface org.kie.api.runtime.process.WorkItemHandler


In file WorkItemHandler.java, lines to
In class org.drools.core.process.instance.WorkItemHandler
In class org.kie.api.runtime.process.WorkItemHandler
In WorkItemHandler.java

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.process.instance.WorkItemManager shadows the simple name of implemented interface org.kie.api.runtime.process.WorkItemManager


In file WorkItemManager.java, lines to
In class org.drools.core.process.instance.WorkItemManager
In class org.kie.api.runtime.process.WorkItemManager
In WorkItemManager.java

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.spi.AgendaGroup shadows the simple name of implemented interface org.kie.api.runtime.rule.AgendaGroup


In file AgendaGroup.java, lines to
In class org.drools.core.spi.AgendaGroup
In class org.kie.api.runtime.rule.AgendaGroup
In AgendaGroup.java

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.spi.Evaluator shadows the simple name of implemented interface org.kie.api.runtime.rule.Evaluator


In file Evaluator.java, lines to
In class org.drools.core.spi.Evaluator
In class org.kie.api.runtime.rule.Evaluator
In Evaluator.java

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.spi.ProcessContext shadows the simple name of implemented interface org.kie.api.runtime.process.ProcessContext


In file ProcessContext.java, lines 28 to 85
In class org.drools.core.spi.ProcessContext
In class org.kie.api.runtime.process.ProcessContext
At ProcessContext.java:[lines 28-85]

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.spi.PropagationContext shadows the simple name of implemented interface org.kie.api.runtime.rule.PropagationContext


In file PropagationContext.java, lines to
In class org.drools.core.spi.PropagationContext
In class org.kie.api.runtime.rule.PropagationContext
In PropagationContext.java

Class names shouldn't shadow simple name of implemented interface Medium

The class name org.drools.core.spi.RuleFlowGroup shadows the simple name of implemented interface org.kie.api.runtime.rule.RuleFlowGroup


In file RuleFlowGroup.java, lines to
In class org.drools.core.spi.RuleFlowGroup
In class org.kie.api.runtime.rule.RuleFlowGroup
In RuleFlowGroup.java

equals() method does not check for null argument Medium

org.drools.core.factmodel.FieldDefinition.equals(Object) does not check for null argument


In file FieldDefinition.java, line 199
In class org.drools.core.factmodel.FieldDefinition
In method org.drools.core.factmodel.FieldDefinition.equals(Object)
Parameter o
At FieldDefinition.java:[line 199]

equals() method does not check for null argument Medium

org.drools.core.factmodel.traits.TripleBasedStruct.equals(Object) does not check for null argument


In file TripleBasedStruct.java, lines 156 to 173
In class org.drools.core.factmodel.traits.TripleBasedStruct
In method org.drools.core.factmodel.traits.TripleBasedStruct.equals(Object)
Parameter o
At TripleBasedStruct.java:[lines 156-173]

equals() method does not check for null argument Medium

org.drools.core.factmodel.traits.TripleBasedTypes.equals(Object) does not check for null argument


In file TripleBasedTypes.java, lines 165 to 182
In class org.drools.core.factmodel.traits.TripleBasedTypes
In method org.drools.core.factmodel.traits.TripleBasedTypes.equals(Object)
Parameter o
At TripleBasedTypes.java:[lines 165-182]

equals() method does not check for null argument Medium

org.drools.core.reteoo.CompositeObjectSinkAdapter$HashKey.equals(Object) does not check for null argument


In file CompositeObjectSinkAdapter.java, lines 857 to 878
In class org.drools.core.reteoo.CompositeObjectSinkAdapter$HashKey
In method org.drools.core.reteoo.CompositeObjectSinkAdapter$HashKey.equals(Object)
Parameter object
At CompositeObjectSinkAdapter.java:[lines 857-878]

equals() method does not check for null argument Medium

org.drools.core.util.ClassUtils$SetterInClass.equals(Object) does not check for null argument


In file ClassUtils.java, lines 554 to 555
In class org.drools.core.util.ClassUtils$SetterInClass
In method org.drools.core.util.ClassUtils$SetterInClass.equals(Object)
Parameter obj
At ClassUtils.java:[lines 554-555]

equals() method does not check for null argument Medium

org.drools.core.util.index.TupleList.equals(Object) does not check for null argument


In file TupleList.java, lines 248 to 249
In class org.drools.core.util.index.TupleList
In method org.drools.core.util.index.TupleList.equals(Object)
Parameter object
At TupleList.java:[lines 248-249]

equals() method does not check for null argument Medium

org.drools.core.util.ObjectHashMap$ObjectEntry.equals(Object) does not check for null argument


In file ObjectHashMap.java, lines 207 to 214
In class org.drools.core.util.ObjectHashMap$ObjectEntry
In method org.drools.core.util.ObjectHashMap$ObjectEntry.equals(Object)
Parameter object
At ObjectHashMap.java:[lines 207-214]

equals() method does not check for null argument Medium

org.drools.core.util.ObjectHashSet$ObjectEntry.equals(Object) does not check for null argument


In file ObjectHashSet.java, lines 206 to 213
In class org.drools.core.util.ObjectHashSet$ObjectEntry
In method org.drools.core.util.ObjectHashSet$ObjectEntry.equals(Object)
Parameter object
At ObjectHashSet.java:[lines 206-213]

Suspicious reference comparison of Boolean values Medium

Suspicious comparison of Boolean references in org.drools.core.common.ActivationIterator.next()


In file ActivationIterator.java, line 88
In class org.drools.core.common.ActivationIterator
In method org.drools.core.common.ActivationIterator.next()
Actual type Boolean
Value loaded from field java.lang.Boolean.TRUE
At ActivationIterator.java:[line 88]
At ActivationIterator.java:[line 88]

Suspicious reference comparison of Boolean values Medium

Suspicious comparison of Boolean references in org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuple(LeftTupleSink, TupleSets, TupleSets, LeftTuple)


In file PhreakTimerNode.java, line 349
In class org.drools.core.phreak.PhreakTimerNode
In method org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuple(LeftTupleSink, TupleSets, TupleSets, LeftTuple)
Actual type Boolean
Value loaded from field java.lang.Boolean.TRUE
At PhreakTimerNode.java:[line 349]
At PhreakTimerNode.java:[line 349]

Suspicious reference comparison of Boolean values Medium

Suspicious comparison of Boolean references in org.drools.core.reteoo.BaseLeftTuple.clearStaged()


In file BaseLeftTuple.java, line 564
In class org.drools.core.reteoo.BaseLeftTuple
In method org.drools.core.reteoo.BaseLeftTuple.clearStaged()
Actual type Boolean
Value loaded from field java.lang.Boolean.TRUE
At BaseLeftTuple.java:[line 564]
At BaseLeftTuple.java:[line 564]

Method ignores exceptional return value Medium

Exceptional return value of java.util.concurrent.BlockingQueue.offer(Object) ignored in org.drools.core.impl.SessionsCache$SessionResetter.enqueue(SessionsCache, StatefulKnowledgeSessionImpl)


In file SessionsCache.java, line 84
In class org.drools.core.impl.SessionsCache$SessionResetter
In method org.drools.core.impl.SessionsCache$SessionResetter.enqueue(SessionsCache, StatefulKnowledgeSessionImpl)
Called method java.util.concurrent.BlockingQueue.offer(Object)
At SessionsCache.java:[line 84]
At SessionsCache.java:[line 84]

Method ignores exceptional return value Medium

Exceptional return value of java.io.File.delete() ignored in org.drools.core.io.impl.UrlResource.cacheStream()


In file UrlResource.java, line 218
In class org.drools.core.io.impl.UrlResource
In method org.drools.core.io.impl.UrlResource.cacheStream()
Called method java.io.File.delete()
At UrlResource.java:[line 218]
At UrlResource.java:[line 218]

Method ignores exceptional return value Medium

Exceptional return value of java.io.File.renameTo(File) ignored in org.drools.core.io.impl.UrlResource.cacheStream()


In file UrlResource.java, line 231
In class org.drools.core.io.impl.UrlResource
In method org.drools.core.io.impl.UrlResource.cacheStream()
Called method java.io.File.renameTo(File)
At UrlResource.java:[line 231]
At UrlResource.java:[line 231]

Method ignores exceptional return value Medium

Exceptional return value of java.io.File.mkdirs() ignored in org.drools.core.util.IoUtils.copyFile(File, File)


In file IoUtils.java, line 106
In class org.drools.core.util.IoUtils
In method org.drools.core.util.IoUtils.copyFile(File, File)
Called method java.io.File.mkdirs()
At IoUtils.java:[line 106]
At IoUtils.java:[line 106]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.base.evaluators.MatchesEvaluatorsDefinition$1 is Externalizable but doesn't define a void constructor


In file MatchesEvaluatorsDefinition.java, lines 55 to 62
In class org.drools.core.base.evaluators.MatchesEvaluatorsDefinition$1
At MatchesEvaluatorsDefinition.java:[lines 55-62]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.base.evaluators.SetEvaluatorsDefinition$1 is Externalizable but doesn't define a void constructor


In file SetEvaluatorsDefinition.java, lines 77 to 230
In class org.drools.core.base.evaluators.SetEvaluatorsDefinition$1
At SetEvaluatorsDefinition.java:[lines 77-230]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition$1 is Externalizable but doesn't define a void constructor


In file SoundslikeEvaluatorsDefinition.java, lines 56 to 63
In class org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition$1
At SoundslikeEvaluatorsDefinition.java:[lines 56-63]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.base.evaluators.StrEvaluatorDefinition$StrEvaluator is Externalizable but doesn't define a void constructor


In file StrEvaluatorDefinition.java, lines 152 to 244
In class org.drools.core.base.evaluators.StrEvaluatorDefinition$StrEvaluator
At StrEvaluatorDefinition.java:[lines 152-244]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.beliefsystem.jtms.JTMSBeliefSetImpl is Externalizable but doesn't define a void constructor


In file JTMSBeliefSetImpl.java, lines 28 to 167
In class org.drools.core.beliefsystem.jtms.JTMSBeliefSetImpl
At JTMSBeliefSetImpl.java:[lines 28-167]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.beliefsystem.simple.SimpleBeliefSet is Externalizable but doesn't define a void constructor


In file SimpleBeliefSet.java, lines 27 to 99
In class org.drools.core.beliefsystem.simple.SimpleBeliefSet
At SimpleBeliefSet.java:[lines 27-99]

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.builder.conf.impl.JaxbConfigurationImpl defines non-transient non-serializable instance field xjcOpts


In file JaxbConfigurationImpl.java, lines to
In class org.drools.core.builder.conf.impl.JaxbConfigurationImpl
Field org.drools.core.builder.conf.impl.JaxbConfigurationImpl.xjcOpts
Actual type com.sun.tools.xjc.Options
In JaxbConfigurationImpl.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.command.NewKieSessionCommand defines non-transient non-serializable instance field releaseId


In file NewKieSessionCommand.java, lines to
In class org.drools.core.command.NewKieSessionCommand
Field org.drools.core.command.NewKieSessionCommand.releaseId
Actual type org.kie.api.builder.ReleaseId
In NewKieSessionCommand.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.command.runtime.process.CreateCorrelatedProcessInstanceCommand defines non-transient non-serializable instance field correlationKey


In file CreateCorrelatedProcessInstanceCommand.java, lines to
In class org.drools.core.command.runtime.process.CreateCorrelatedProcessInstanceCommand
Field org.drools.core.command.runtime.process.CreateCorrelatedProcessInstanceCommand.correlationKey
Actual type org.kie.internal.process.CorrelationKey
In CreateCorrelatedProcessInstanceCommand.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.command.runtime.process.GetProcessInstanceByCorrelationKeyCommand defines non-transient non-serializable instance field correlationKey


In file GetProcessInstanceByCorrelationKeyCommand.java, lines to
In class org.drools.core.command.runtime.process.GetProcessInstanceByCorrelationKeyCommand
Field org.drools.core.command.runtime.process.GetProcessInstanceByCorrelationKeyCommand.correlationKey
Actual type org.kie.internal.process.CorrelationKey
In GetProcessInstanceByCorrelationKeyCommand.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.command.runtime.process.SignalEventCommand defines non-transient non-serializable instance field correlationKey


In file SignalEventCommand.java, lines to
In class org.drools.core.command.runtime.process.SignalEventCommand
Field org.drools.core.command.runtime.process.SignalEventCommand.correlationKey
Actual type org.kie.internal.process.CorrelationKey
In SignalEventCommand.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.command.runtime.process.StartCorrelatedProcessCommand defines non-transient non-serializable instance field correlationKey


In file StartCorrelatedProcessCommand.java, lines to
In class org.drools.core.command.runtime.process.StartCorrelatedProcessCommand
Field org.drools.core.command.runtime.process.StartCorrelatedProcessCommand.correlationKey
Actual type org.kie.internal.process.CorrelationKey
In StartCorrelatedProcessCommand.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.command.runtime.RegisterChannelCommand defines non-transient non-serializable instance field channel


In file RegisterChannelCommand.java, lines to
In class org.drools.core.command.runtime.RegisterChannelCommand
Field org.drools.core.command.runtime.RegisterChannelCommand.channel
Actual type org.kie.api.runtime.Channel
In RegisterChannelCommand.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.command.runtime.rule.FireUntilHaltCommand defines non-transient non-serializable instance field agendaFilter


In file FireUntilHaltCommand.java, lines to
In class org.drools.core.command.runtime.rule.FireUntilHaltCommand
Field org.drools.core.command.runtime.rule.FireUntilHaltCommand.agendaFilter
Actual type org.kie.api.runtime.rule.AgendaFilter
In FireUntilHaltCommand.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.common.AgendaItemImpl defines non-transient non-serializable instance field activationUnMatchListener


In file AgendaItemImpl.java, lines to
In class org.drools.core.common.AgendaItemImpl
Field org.drools.core.common.AgendaItemImpl.activationUnMatchListener
Actual type org.kie.internal.event.rule.ActivationUnMatchListener
In AgendaItemImpl.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.common.AgendaItemImpl defines non-transient non-serializable instance field agendaGroup


In file AgendaItemImpl.java, lines to
In class org.drools.core.common.AgendaItemImpl
Field org.drools.core.common.AgendaItemImpl.agendaGroup
Actual type org.drools.core.common.InternalAgendaGroup
In AgendaItemImpl.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.event.ProcessNodeLeftEventImpl defines non-transient non-serializable instance field nodeInstance


In file ProcessNodeLeftEventImpl.java, lines to
In class org.drools.core.event.ProcessNodeLeftEventImpl
Field org.drools.core.event.ProcessNodeLeftEventImpl.nodeInstance
Actual type org.kie.api.runtime.process.NodeInstance
In ProcessNodeLeftEventImpl.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.event.ProcessNodeTriggeredEventImpl defines non-transient non-serializable instance field nodeInstance


In file ProcessNodeTriggeredEventImpl.java, lines to
In class org.drools.core.event.ProcessNodeTriggeredEventImpl
Field org.drools.core.event.ProcessNodeTriggeredEventImpl.nodeInstance
Actual type org.kie.api.runtime.process.NodeInstance
In ProcessNodeTriggeredEventImpl.java

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.ActivationCancelledEventImpl is Externalizable but doesn't define a void constructor


In file ActivationCancelledEventImpl.java, lines 29 to 40
In class org.drools.core.event.rule.impl.ActivationCancelledEventImpl
At ActivationCancelledEventImpl.java:[lines 29-40]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.ActivationCreatedEventImpl is Externalizable but doesn't define a void constructor


In file ActivationCreatedEventImpl.java, lines 26 to 32
In class org.drools.core.event.rule.impl.ActivationCreatedEventImpl
At ActivationCreatedEventImpl.java:[lines 26-32]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.AfterActivationFiredEventImpl is Externalizable but doesn't define a void constructor


In file AfterActivationFiredEventImpl.java, lines 26 to 32
In class org.drools.core.event.rule.impl.AfterActivationFiredEventImpl
At AfterActivationFiredEventImpl.java:[lines 26-32]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.AgendaGroupPoppedEventImpl is Externalizable but doesn't define a void constructor


In file AgendaGroupPoppedEventImpl.java, lines 26 to 32
In class org.drools.core.event.rule.impl.AgendaGroupPoppedEventImpl
At AgendaGroupPoppedEventImpl.java:[lines 26-32]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.AgendaGroupPushedEventImpl is Externalizable but doesn't define a void constructor


In file AgendaGroupPushedEventImpl.java, lines 26 to 32
In class org.drools.core.event.rule.impl.AgendaGroupPushedEventImpl
At AgendaGroupPushedEventImpl.java:[lines 26-32]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.BeforeActivationFiredEventImpl is Externalizable but doesn't define a void constructor


In file BeforeActivationFiredEventImpl.java, lines 27 to 33
In class org.drools.core.event.rule.impl.BeforeActivationFiredEventImpl
At BeforeActivationFiredEventImpl.java:[lines 27-33]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.ObjectDeletedEventImpl is Externalizable but doesn't define a void constructor


In file ObjectDeletedEventImpl.java, lines 37 to 67
In class org.drools.core.event.rule.impl.ObjectDeletedEventImpl
At ObjectDeletedEventImpl.java:[lines 37-67]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.ObjectInsertedEventImpl is Externalizable but doesn't define a void constructor


In file ObjectInsertedEventImpl.java, lines 39 to 69
In class org.drools.core.event.rule.impl.ObjectInsertedEventImpl
At ObjectInsertedEventImpl.java:[lines 39-69]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.ObjectUpdatedEventImpl is Externalizable but doesn't define a void constructor


In file ObjectUpdatedEventImpl.java, lines 39 to 76
In class org.drools.core.event.rule.impl.ObjectUpdatedEventImpl
At ObjectUpdatedEventImpl.java:[lines 39-76]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.RuleFlowGroupActivatedEventImpl is Externalizable but doesn't define a void constructor


In file RuleFlowGroupActivatedEventImpl.java, lines 28 to 32
In class org.drools.core.event.rule.impl.RuleFlowGroupActivatedEventImpl
At RuleFlowGroupActivatedEventImpl.java:[lines 28-32]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.event.rule.impl.RuleFlowGroupDeactivatedEventImpl is Externalizable but doesn't define a void constructor


In file RuleFlowGroupDeactivatedEventImpl.java, lines 28 to 32
In class org.drools.core.event.rule.impl.RuleFlowGroupDeactivatedEventImpl
At RuleFlowGroupDeactivatedEventImpl.java:[lines 28-32]

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Action defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Action
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Action.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Assert defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Assert
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Assert.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$BehaviorExpire defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$BehaviorExpire
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$BehaviorExpire.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$DeactivateCallback defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$DeactivateCallback
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$DeactivateCallback.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Expire defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Expire
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Expire.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$LogicalRetract defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$LogicalRetract
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$LogicalRetract.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Propagate defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Propagate
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Propagate.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Signal defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Signal
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Signal.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$SignalProcessInstance defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$SignalProcessInstance
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$SignalProcessInstance.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Activation defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Activation
Field org.drools.core.marshalling.impl.ProtobufMessages$Activation.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Agenda defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup$NodeInstance defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup$NodeInstance
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup$NodeInstance.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$FocusStack defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$FocusStack
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda$FocusStack.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup$NodeInstance defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup$NodeInstance
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup$NodeInstance.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$BeliefSet defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$BeliefSet
Field org.drools.core.marshalling.impl.ProtobufMessages$BeliefSet.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$EntryPoint defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$EntryPoint
Field org.drools.core.marshalling.impl.ProtobufMessages$EntryPoint.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$EqualityKey defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$EqualityKey
Field org.drools.core.marshalling.impl.ProtobufMessages$EqualityKey.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$FactHandle defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$FactHandle
Field org.drools.core.marshalling.impl.ProtobufMessages$FactHandle.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Header defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Header
Field org.drools.core.marshalling.impl.ProtobufMessages$Header.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Header$StrategyIndex defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Header$StrategyIndex
Field org.drools.core.marshalling.impl.ProtobufMessages$Header$StrategyIndex.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeBase defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeBase
Field org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeBase.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeSession defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeSession
Field org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeSession.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$LogicalDependency defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$LogicalDependency
Field org.drools.core.marshalling.impl.ProtobufMessages$LogicalDependency.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory$AccumulateContext defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory$AccumulateContext
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory$AccumulateContext.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory$FromContext defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory$FromContext
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory$FromContext.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory$QueryContext defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory$QueryContext
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory$QueryContext.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory$RIAContext defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory$RIAContext
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory$RIAContext.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ObjectTypeConfiguration defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ObjectTypeConfiguration
Field org.drools.core.marshalling.impl.ProtobufMessages$ObjectTypeConfiguration.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$ProcessData defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$ProcessData
Field org.drools.core.marshalling.impl.ProtobufMessages$ProcessData.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$RuleData defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$RuleData
Field org.drools.core.marshalling.impl.ProtobufMessages$RuleData.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$RuntimeClassDef defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$RuntimeClassDef
Field org.drools.core.marshalling.impl.ProtobufMessages$RuntimeClassDef.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Signature defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Signature
Field org.drools.core.marshalling.impl.ProtobufMessages$Signature.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Timers defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Timers$ActivationTimer defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$ActivationTimer
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers$ActivationTimer.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Timers$BehaviorTimer defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$BehaviorTimer
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers$BehaviorTimer.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Timers$ExpireTimer defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$ExpireTimer
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers$ExpireTimer.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Timers$Timer defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$Timer
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers$Timer.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Timers$TimerNodeTimer defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$TimerNodeTimer
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers$TimerNodeTimer.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Trigger defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger
Field org.drools.core.marshalling.impl.ProtobufMessages$Trigger.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CompositeMaxDurationTrigger defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CompositeMaxDurationTrigger
Field org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CompositeMaxDurationTrigger.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CronTrigger defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CronTrigger
Field org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CronTrigger.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$IntervalTrigger defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$IntervalTrigger
Field org.drools.core.marshalling.impl.ProtobufMessages$Trigger$IntervalTrigger.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$PointInTimeTrigger defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$PointInTimeTrigger
Field org.drools.core.marshalling.impl.ProtobufMessages$Trigger$PointInTimeTrigger.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$TruthMaintenanceSystem defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$TruthMaintenanceSystem
Field org.drools.core.marshalling.impl.ProtobufMessages$TruthMaintenanceSystem.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Tuple defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Tuple
Field org.drools.core.marshalling.impl.ProtobufMessages$Tuple.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.marshalling.impl.ProtobufMessages$Version defines non-transient non-serializable instance field unknownFields


In file ProtobufMessages.java, lines to
In class org.drools.core.marshalling.impl.ProtobufMessages$Version
Field org.drools.core.marshalling.impl.ProtobufMessages$Version.unknownFields
Actual type com.google.protobuf.UnknownFieldSet
In ProtobufMessages.java

Comparator doesn't implement Serializable Medium

org.drools.core.marshalling.impl.ProtobufOutputMarshaller$HandleSorter implements Comparator but not Serializable


In file ProtobufOutputMarshaller.java, lines 791 to 796
In class org.drools.core.marshalling.impl.ProtobufOutputMarshaller$HandleSorter
At ProtobufOutputMarshaller.java:[lines 791-796]

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.phreak.PhreakTimerNode$TimerNodeJobContext defines non-transient non-serializable instance field pmems


In file PhreakTimerNode.java, lines to
In class org.drools.core.phreak.PhreakTimerNode$TimerNodeJobContext
Field org.drools.core.phreak.PhreakTimerNode$TimerNodeJobContext.pmems
Actual type org.drools.core.reteoo.PathMemory
In PhreakTimerNode.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.phreak.PhreakTimerNode$TimerNodeJobContext defines non-transient non-serializable instance field tm


In file PhreakTimerNode.java, lines to
In class org.drools.core.phreak.PhreakTimerNode$TimerNodeJobContext
Field org.drools.core.phreak.PhreakTimerNode$TimerNodeJobContext.tm
Actual type org.drools.core.reteoo.TimerNode$TimerNodeMemory
In PhreakTimerNode.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.phreak.RuleAgendaItem defines non-transient non-serializable instance field executor


In file RuleAgendaItem.java, lines to
In class org.drools.core.phreak.RuleAgendaItem
Field org.drools.core.phreak.RuleAgendaItem.executor
Actual type org.drools.core.phreak.RuleExecutor
In RuleAgendaItem.java

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.AlphaNode$ObjectSinkUpdateAdapter is Externalizable but doesn't define a void constructor


In file AlphaNode.java, lines 251 to 323
In class org.drools.core.reteoo.AlphaNode$ObjectSinkUpdateAdapter
At AlphaNode.java:[lines 251-323]

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.reteoo.BaseLeftTuple defines non-transient non-serializable instance field memory


In file BaseLeftTuple.java, lines to
In class org.drools.core.reteoo.BaseLeftTuple
Field org.drools.core.reteoo.BaseLeftTuple.memory
Actual type org.drools.core.util.index.TupleList
In BaseLeftTuple.java

Comparator doesn't implement Serializable Medium

org.drools.core.reteoo.ClassObjectTypeConf$ObjectTypeNodeComparator implements Comparator but not Serializable


In file ClassObjectTypeConf.java, lines 214 to 216
In class org.drools.core.reteoo.ClassObjectTypeConf$ObjectTypeNodeComparator
At ClassObjectTypeConf.java:[lines 214-216]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.LeftInputAdapterNode$RightTupleSinkAdapter is Externalizable but doesn't define a void constructor


In file LeftInputAdapterNode.java, lines 591 to 674
In class org.drools.core.reteoo.LeftInputAdapterNode$RightTupleSinkAdapter
At LeftInputAdapterNode.java:[lines 591-674]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.MethodCountingAlphaNode is Externalizable but doesn't define a void constructor


In file MethodCountingAlphaNode.java, lines 16 to 38
In class org.drools.core.reteoo.MethodCountingAlphaNode
At MethodCountingAlphaNode.java:[lines 16-38]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.MethodCountingLeftInputAdapterNode is Externalizable but doesn't define a void constructor


In file MethodCountingLeftInputAdapterNode.java, lines 14 to 36
In class org.drools.core.reteoo.MethodCountingLeftInputAdapterNode
At MethodCountingLeftInputAdapterNode.java:[lines 14-36]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.MethodCountingObjectTypeNode is Externalizable but doesn't define a void constructor


In file MethodCountingObjectTypeNode.java, lines 16 to 38
In class org.drools.core.reteoo.MethodCountingObjectTypeNode
At MethodCountingObjectTypeNode.java:[lines 16-38]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.PropagationQueuingNode$AssertAction is Externalizable but doesn't define a void constructor


In file PropagationQueuingNode.java, lines 398 to 408
In class org.drools.core.reteoo.PropagationQueuingNode$AssertAction
At PropagationQueuingNode.java:[lines 398-408]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.PropagationQueuingNode$AssertToSinkAction is Externalizable but doesn't define a void constructor


In file PropagationQueuingNode.java, lines 419 to 443
In class org.drools.core.reteoo.PropagationQueuingNode$AssertToSinkAction
At PropagationQueuingNode.java:[lines 419-443]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.PropagationQueuingNode$ModifyToSinkAction is Externalizable but doesn't define a void constructor


In file PropagationQueuingNode.java, lines 479 to 506
In class org.drools.core.reteoo.PropagationQueuingNode$ModifyToSinkAction
At PropagationQueuingNode.java:[lines 479-506]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.PropagationQueuingNode$RetractAction is Externalizable but doesn't define a void constructor


In file PropagationQueuingNode.java, lines 451 to 468
In class org.drools.core.reteoo.PropagationQueuingNode$RetractAction
At PropagationQueuingNode.java:[lines 451-468]

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.reteoo.ReactiveFromNode$ReactiveFromMemory defines non-transient non-serializable instance field stagedLeftTuples


In file ReactiveFromNode.java, lines to
In class org.drools.core.reteoo.ReactiveFromNode$ReactiveFromMemory
Field org.drools.core.reteoo.ReactiveFromNode$ReactiveFromMemory.stagedLeftTuples
Actual type org.drools.core.common.TupleSetsImpl<org.drools.core.reteoo.LeftTuple>
In ReactiveFromNode.java

Non-serializable value stored into instance field of a serializable class Medium

org.drools.core.common.TupleSetsImpl stored into non-transient field ReactiveFromNode$ReactiveFromMemory.stagedLeftTuples


In file ReactiveFromNode.java, line 66
In class org.drools.core.reteoo.ReactiveFromNode$ReactiveFromMemory
Field org.drools.core.reteoo.ReactiveFromNode$ReactiveFromMemory.stagedLeftTuples
Actual type org.drools.core.common.TupleSetsImpl
At ReactiveFromNode.java:[line 66]

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.reteoo.RightTupleImpl defines non-transient non-serializable instance field memory


In file RightTupleImpl.java, lines to
In class org.drools.core.reteoo.RightTupleImpl
Field org.drools.core.reteoo.RightTupleImpl.memory
Actual type org.drools.core.util.index.TupleList
In RightTupleImpl.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.reteoo.RuleTerminalNodeLeftTuple defines non-transient non-serializable instance field activationUnMatchListener


In file RuleTerminalNodeLeftTuple.java, lines to
In class org.drools.core.reteoo.RuleTerminalNodeLeftTuple
Field org.drools.core.reteoo.RuleTerminalNodeLeftTuple.activationUnMatchListener
Actual type org.kie.internal.event.rule.ActivationUnMatchListener
In RuleTerminalNodeLeftTuple.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.reteoo.RuleTerminalNodeLeftTuple defines non-transient non-serializable instance field agendaGroup


In file RuleTerminalNodeLeftTuple.java, lines to
In class org.drools.core.reteoo.RuleTerminalNodeLeftTuple
Field org.drools.core.reteoo.RuleTerminalNodeLeftTuple.agendaGroup
Actual type org.drools.core.common.InternalAgendaGroup
In RuleTerminalNodeLeftTuple.java

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.SegmentMemory is Externalizable but doesn't define a void constructor


In file SegmentMemory.java, lines 36 to 366
In class org.drools.core.reteoo.SegmentMemory
At SegmentMemory.java:[lines 36-366]

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.reteoo.SubnetworkTuple defines non-transient non-serializable instance field factHandleForEvaluation


In file SubnetworkTuple.java, lines to
In class org.drools.core.reteoo.SubnetworkTuple
Field org.drools.core.reteoo.SubnetworkTuple.factHandleForEvaluation
Actual type org.drools.core.common.DefaultFactHandle
In SubnetworkTuple.java

Non-serializable value stored into instance field of a serializable class Medium

org.drools.core.common.DefaultFactHandle stored into non-transient field SubnetworkTuple.factHandleForEvaluation


In file SubnetworkTuple.java, line 35
In class org.drools.core.reteoo.SubnetworkTuple
Field org.drools.core.reteoo.SubnetworkTuple.factHandleForEvaluation
Actual type org.drools.core.common.DefaultFactHandle
At SubnetworkTuple.java:[line 35]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.reteoo.TraitProxyObjectTypeNode is Externalizable but doesn't define a void constructor


In file TraitProxyObjectTypeNode.java, lines 29 to 39
In class org.drools.core.reteoo.TraitProxyObjectTypeNode
At TraitProxyObjectTypeNode.java:[lines 29-39]

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.reteoo.WindowTuple defines non-transient non-serializable instance field windowList


In file WindowTuple.java, lines to
In class org.drools.core.reteoo.WindowTuple
Field org.drools.core.reteoo.WindowTuple.windowList
Actual type org.drools.core.reteoo.WindowTupleList
In WindowTuple.java

Serializable inner class Medium

org.drools.core.rule.MultiAccumulate$Wirer is serializable and an inner class


In file MultiAccumulate.java, lines 199 to 209
In class org.drools.core.rule.MultiAccumulate$Wirer
At MultiAccumulate.java:[lines 199-209]

Serializable inner class Medium

org.drools.core.rule.SingleAccumulate$Wirer is serializable and an inner class


In file SingleAccumulate.java, lines 167 to 176
In class org.drools.core.rule.SingleAccumulate$Wirer
At SingleAccumulate.java:[lines 167-176]

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.rule.XpathBackReference$RelativePattern is Externalizable but doesn't define a void constructor


In file XpathBackReference.java, lines 87 to 94
In class org.drools.core.rule.XpathBackReference$RelativePattern
At XpathBackReference.java:[lines 87-94]

Transient field that isn't set by deserialization. Medium

The field org.drools.core.time.impl.DefaultTimerJobInstance.scheduler is transient but isn't set by deserialization


In file DefaultTimerJobInstance.java, lines to
In class org.drools.core.time.impl.DefaultTimerJobInstance
Field org.drools.core.time.impl.DefaultTimerJobInstance.scheduler
In DefaultTimerJobInstance.java

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.time.impl.JDKTimerService$JDKJobHandle defines non-transient non-serializable instance field future


In file JDKTimerService.java, lines to
In class org.drools.core.time.impl.JDKTimerService$JDKJobHandle
Field org.drools.core.time.impl.JDKTimerService$JDKJobHandle.future
Actual type java.util.concurrent.ScheduledFuture<java.lang.Void>
In JDKTimerService.java

Comparator doesn't implement Serializable Medium

org.drools.core.util.debug.LeftMemorySizeComparator implements Comparator but not Serializable


In file LeftMemorySizeComparator.java, lines 21 to 25
In class org.drools.core.util.debug.LeftMemorySizeComparator
At LeftMemorySizeComparator.java:[lines 21-25]

Comparator doesn't implement Serializable Medium

org.drools.core.util.debug.RightMemorySizeComparator implements Comparator but not Serializable


In file RightMemorySizeComparator.java, lines 21 to 25
In class org.drools.core.util.debug.RightMemorySizeComparator
At RightMemorySizeComparator.java:[lines 21-25]

Non-transient non-serializable instance field in serializable class Medium

Class org.drools.core.util.index.TupleIndexHashTable$FieldIndexHashTableFullIterator defines non-transient non-serializable instance field list


In file TupleIndexHashTable.java, lines to
In class org.drools.core.util.index.TupleIndexHashTable$FieldIndexHashTableFullIterator
Field org.drools.core.util.index.TupleIndexHashTable$FieldIndexHashTableFullIterator.list
Actual type org.drools.core.util.index.TupleList
In TupleIndexHashTable.java

Class is Externalizable but doesn't define a void constructor Medium

org.drools.core.util.StandaloneTraitFactory is Externalizable but doesn't define a void constructor


In file StandaloneTraitFactory.java, lines 59 to 207
In class org.drools.core.util.StandaloneTraitFactory
At StandaloneTraitFactory.java:[lines 59-207]

Class is Serializable, but doesn't define serialVersionUID Medium

org.drools.core.command.runtime.rule.GetObjectCommand is Serializable; consider declaring a serialVersionUID


In file GetObjectCommand.java, lines 48 to 104
In class org.drools.core.command.runtime.rule.GetObjectCommand
At GetObjectCommand.java:[lines 48-104]

Class is Serializable, but doesn't define serialVersionUID Medium

org.drools.core.command.runtime.rule.GetObjectsCommand is Serializable; consider declaring a serialVersionUID


In file GetObjectsCommand.java, lines 39 to 110
In class org.drools.core.command.runtime.rule.GetObjectsCommand
At GetObjectsCommand.java:[lines 39-110]

Class is Serializable, but doesn't define serialVersionUID Medium

org.drools.core.factmodel.traits.ThingProxyPlaceHolder is Serializable; consider declaring a serialVersionUID


In file ThingProxyPlaceHolder.java, lines 26 to 66
In class org.drools.core.factmodel.traits.ThingProxyPlaceHolder
At ThingProxyPlaceHolder.java:[lines 26-66]

Class is Serializable, but doesn't define serialVersionUID Medium

org.drools.core.factmodel.traits.TraitMapPropertyWrapperClassBuilderImpl is Serializable; consider declaring a serialVersionUID


In file TraitMapPropertyWrapperClassBuilderImpl.java, lines 45 to 841
In class org.drools.core.factmodel.traits.TraitMapPropertyWrapperClassBuilderImpl
At TraitMapPropertyWrapperClassBuilderImpl.java:[lines 45-841]

Class is Serializable, but doesn't define serialVersionUID Medium

org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl is Serializable; consider declaring a serialVersionUID


In file TraitMapProxyClassBuilderImpl.java, lines 56 to 1514
In class org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl
At TraitMapProxyClassBuilderImpl.java:[lines 56-1514]

Class is Serializable, but doesn't define serialVersionUID Medium

org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl is Serializable; consider declaring a serialVersionUID


In file TraitTriplePropertyWrapperClassBuilderImpl.java, lines 47 to 1059
In class org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl
At TraitTriplePropertyWrapperClassBuilderImpl.java:[lines 47-1059]

Class is Serializable, but doesn't define serialVersionUID Medium

org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl is Serializable; consider declaring a serialVersionUID


In file TraitTripleProxyClassBuilderImpl.java, lines 58 to 1602
In class org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl
At TraitTripleProxyClassBuilderImpl.java:[lines 58-1602]

Class is Serializable, but doesn't define serialVersionUID Medium

org.drools.core.time.impl.CronTrigger is Serializable; consider declaring a serialVersionUID


In file CronTrigger.java, lines 32 to 368
In class org.drools.core.time.impl.CronTrigger
At CronTrigger.java:[lines 32-368]



Correctness Warnings

Warning Priority Details
Impossible cast High

Impossible cast from org.drools.core.rule.constraint.XpathConstraint$XpathChunk to org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider in org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider.equals(Object)


In file XpathConstraint.java, line 506
In class org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider
In method org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider.equals(Object)
Actual type org.drools.core.rule.constraint.XpathConstraint$XpathChunk
Expected org.drools.core.rule.constraint.XpathConstraint$XpathDataProvider
Value loaded from obj
At XpathConstraint.java:[line 506]

An apparent infinite recursive loop High

There is an apparent infinite recursive loop in org.drools.core.beliefsystem.defeasible.DefeasibleBeliefSet.getLogicalDependency()


In file DefeasibleBeliefSet.java, line 78
In class org.drools.core.beliefsystem.defeasible.DefeasibleBeliefSet
In method org.drools.core.beliefsystem.defeasible.DefeasibleBeliefSet.getLogicalDependency()
At DefeasibleBeliefSet.java:[line 78]

An apparent infinite recursive loop High

There is an apparent infinite recursive loop in org.drools.core.common.DisconnectedFactHandle.clone()


In file DisconnectedFactHandle.java, line 266
In class org.drools.core.common.DisconnectedFactHandle
In method org.drools.core.common.DisconnectedFactHandle.clone()
At DisconnectedFactHandle.java:[line 266]

An apparent infinite recursive loop High

There is an apparent infinite recursive loop in org.drools.core.rule.constraint.MvelConstraint.calculateMask(ConditionAnalyzer$Condition, List)


In file MvelConstraint.java, line 453
In class org.drools.core.rule.constraint.MvelConstraint
In method org.drools.core.rule.constraint.MvelConstraint.calculateMask(ConditionAnalyzer$Condition, List)
At MvelConstraint.java:[line 453]

Nullcheck of value previously dereferenced High

Nullcheck of context at line 35 of value previously dereferenced in org.drools.core.reteoo.ReteObjectTypeNode.attach(BuildContext)


In file ReteObjectTypeNode.java, line 34
In class org.drools.core.reteoo.ReteObjectTypeNode
In method org.drools.core.reteoo.ReteObjectTypeNode.attach(BuildContext)
Value loaded from context
At ReteObjectTypeNode.java:[line 34]
Redundant null check at ReteObjectTypeNode.java:[line 35]
Redundant null check at ReteObjectTypeNode.java:[line 35]

Bad attempt to compute absolute value of signed 32-bit hashcode High

Bad attempt to compute absolute value of signed 32-bit hashcode in org.drools.core.base.ClassFieldAccessorFactory.getClassFieldReader(Class, String, ClassFieldAccessorCache$CacheEntry)


In file ClassFieldAccessorFactory.java, line 106
In class org.drools.core.base.ClassFieldAccessorFactory
In method org.drools.core.base.ClassFieldAccessorFactory.getClassFieldReader(Class, String, ClassFieldAccessorCache$CacheEntry)
At ClassFieldAccessorFactory.java:[line 106]
At ClassFieldAccessorFactory.java:[line 106]

Bad attempt to compute absolute value of signed 32-bit hashcode High

Bad attempt to compute absolute value of signed 32-bit hashcode in org.drools.core.base.ClassFieldAccessorFactory.getClassFieldWriter(Class, String, ClassFieldAccessorCache$CacheEntry)


In file ClassFieldAccessorFactory.java, line 182
In class org.drools.core.base.ClassFieldAccessorFactory
In method org.drools.core.base.ClassFieldAccessorFactory.getClassFieldWriter(Class, String, ClassFieldAccessorCache$CacheEntry)
At ClassFieldAccessorFactory.java:[line 182]
At ClassFieldAccessorFactory.java:[line 182]

equals method overrides equals in superclass and may not be symmetric Medium

org.drools.core.common.EqualityKey overrides equals in org.drools.core.util.LinkedList and may not be symmetric


In file EqualityKey.java, lines 160 to 168
In class org.drools.core.common.EqualityKey
In method org.drools.core.common.EqualityKey.equals(Object)
Overrides org.drools.core.util.LinkedList.equals(Object)
At EqualityKey.java:[lines 160-168]

equals method overrides equals in superclass and may not be symmetric Medium

org.drools.core.phreak.RuleAgendaItem overrides equals in org.drools.core.common.AgendaItemImpl and may not be symmetric


In file RuleAgendaItem.java, lines 96 to 100
In class org.drools.core.phreak.RuleAgendaItem
In method org.drools.core.phreak.RuleAgendaItem.equals(Object)
Overrides org.drools.core.common.AgendaItemImpl.equals(Object)
At RuleAgendaItem.java:[lines 96-100]

equals method overrides equals in superclass and may not be symmetric Medium

org.drools.core.reteoo.SegmentMemory overrides equals in org.drools.core.util.LinkedList and may not be symmetric


In file SegmentMemory.java, line 340
In class org.drools.core.reteoo.SegmentMemory
In method org.drools.core.reteoo.SegmentMemory.equals(Object)
Overrides org.drools.core.util.LinkedList.equals(Object)
At SegmentMemory.java:[line 340]

Possible null pointer dereference Medium

Possible null pointer dereference of value in org.drools.core.base.FieldFactory.getFieldValue(String, ValueType)


In file FieldFactory.java, line 51
In class org.drools.core.base.FieldFactory
In method org.drools.core.base.FieldFactory.getFieldValue(String, ValueType)
Value loaded from value
Dereferenced at FieldFactory.java:[line 51]
Known null at FieldFactory.java:[line 47]

Value is null and guaranteed to be dereferenced on exception path Medium

object is null guaranteed to be dereferenced in org.drools.core.common.NamedEntryPoint.removePropertyChangeListener(FactHandle, boolean) on exception path


In file NamedEntryPoint.java, line 642
In class org.drools.core.common.NamedEntryPoint
In method org.drools.core.common.NamedEntryPoint.removePropertyChangeListener(FactHandle, boolean)
Value loaded from object
Dereferenced at NamedEntryPoint.java:[line 642]
Dereferenced at NamedEntryPoint.java:[line 634]
Null value at NamedEntryPoint.java:[line 613]
Known null at NamedEntryPoint.java:[line 615]

Possible null pointer dereference Medium

Possible null pointer dereference of AbstractEventSupport.listeners in org.drools.core.event.AbstractEventSupport.clear()


In file AbstractEventSupport.java, line 114
In class org.drools.core.event.AbstractEventSupport
In method org.drools.core.event.AbstractEventSupport.clear()
Value contained in org.drools.core.event.AbstractEventSupport.listeners
Dereferenced at AbstractEventSupport.java:[line 114]
Known null at AbstractEventSupport.java:[line 107]

Possible null pointer dereference in method on exception path Medium

Possible null pointer dereference of cw in org.drools.core.factmodel.traits.TraitClassBuilderImpl.buildClass(ClassDefinition, ClassLoader) on exception path


In file TraitClassBuilderImpl.java, line 99
In class org.drools.core.factmodel.traits.TraitClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitClassBuilderImpl.buildClass(ClassDefinition, ClassLoader)
Value loaded from cw
Dereferenced at TraitClassBuilderImpl.java:[line 99]
Null value at TraitClassBuilderImpl.java:[line 40]
Known null at TraitClassBuilderImpl.java:[line 43]

Method call passes null for non-null parameter Medium

Null passed for non-null parameter of processTypeDeclaration(TypeDeclaration, InternalKnowledgePackage) in org.drools.core.impl.KnowledgeBaseImpl.internalAddPackages(List)


In file KnowledgeBaseImpl.java, line 864
In class org.drools.core.impl.KnowledgeBaseImpl
In method org.drools.core.impl.KnowledgeBaseImpl.internalAddPackages(List)
Called method org.drools.core.impl.KnowledgeBaseImpl.processTypeDeclaration(TypeDeclaration, InternalKnowledgePackage)
Argument 2 might be null but must not be null
Value loaded from newPkg
Method invoked at KnowledgeBaseImpl.java:[line 864]
Null value at KnowledgeBaseImpl.java:[line 857]
Known null at KnowledgeBaseImpl.java:[line 858]

Possible null pointer dereference Medium

Possible null pointer dereference of strategy in org.drools.core.marshalling.impl.InputMarshaller.readWorkItem(MarshallerReaderContext)


In file InputMarshaller.java, line 173
In class org.drools.core.marshalling.impl.InputMarshaller
In method org.drools.core.marshalling.impl.InputMarshaller.readWorkItem(MarshallerReaderContext)
Value loaded from strategy
Dereferenced at InputMarshaller.java:[line 173]
Null value at InputMarshaller.java:[line 152]
Known null at InputMarshaller.java:[line 161]

Method call passes null for non-null parameter Medium

Null passed for non-null parameter of org.drools.core.common.ObjectTypeConfigurationRegistry.getObjectTypeConf(EntryPointId, Object) in org.drools.core.marshalling.impl.InputMarshaller.readFactHandle(MarshallerReaderContext)


In file InputMarshaller.java, line 98
In class org.drools.core.marshalling.impl.InputMarshaller
In method org.drools.core.marshalling.impl.InputMarshaller.readFactHandle(MarshallerReaderContext)
Called method org.drools.core.common.ObjectTypeConfigurationRegistry.getObjectTypeConf(EntryPointId, Object)
Argument 2 might be null but must not be null
Value loaded from object
Method invoked at InputMarshaller.java:[line 98]
Null value at InputMarshaller.java:[line 62]
Known null at InputMarshaller.java:[line 80]

Method call passes null for non-null parameter Medium

Null passed for non-null parameter of org.drools.core.common.ObjectTypeConfigurationRegistry.getObjectTypeConf(EntryPointId, Object) in org.drools.core.marshalling.impl.ProtobufInputMarshaller.readFactHandle(MarshallerReaderContext, EntryPoint, ProtobufMessages$FactHandle)


In file ProtobufInputMarshaller.java, line 538
In class org.drools.core.marshalling.impl.ProtobufInputMarshaller
In method org.drools.core.marshalling.impl.ProtobufInputMarshaller.readFactHandle(MarshallerReaderContext, EntryPoint, ProtobufMessages$FactHandle)
Called method org.drools.core.common.ObjectTypeConfigurationRegistry.getObjectTypeConf(EntryPointId, Object)
Argument 2 might be null but must not be null
Value loaded from object
Method invoked at ProtobufInputMarshaller.java:[line 538]
Null value at ProtobufInputMarshaller.java:[line 521]
Known null at ProtobufInputMarshaller.java:[line 523]

Possible null pointer dereference Medium

Possible null pointer dereference of rightMemory in org.drools.core.reteoo.QueryRiaFixerNode$QueryRiaFixerNodeFixer.execute(InternalWorkingMemory)


In file QueryRiaFixerNode.java, line 375
In class org.drools.core.reteoo.QueryRiaFixerNode$QueryRiaFixerNodeFixer
In method org.drools.core.reteoo.QueryRiaFixerNode$QueryRiaFixerNodeFixer.execute(InternalWorkingMemory)
Value loaded from rightMemory
Dereferenced at QueryRiaFixerNode.java:[line 375]
Null value at QueryRiaFixerNode.java:[line 363]
Known null at QueryRiaFixerNode.java:[line 366]

Read of unwritten field Medium

Read of unwritten field annotations in org.drools.core.rule.BaseAnnotatedAsset.getAnnotation(Class)


In file BaseAnnotatedAsset.java, line 36
In class org.drools.core.rule.BaseAnnotatedAsset
In method org.drools.core.rule.BaseAnnotatedAsset.getAnnotation(Class)
Field org.drools.core.rule.BaseAnnotatedAsset.annotations
At BaseAnnotatedAsset.java:[line 36]
At BaseAnnotatedAsset.java:[line 36]

Read of unwritten field Medium

Read of unwritten field annotations in org.drools.core.rule.BaseAnnotatedAsset.getAnnotations()


In file BaseAnnotatedAsset.java, line 40
In class org.drools.core.rule.BaseAnnotatedAsset
In method org.drools.core.rule.BaseAnnotatedAsset.getAnnotations()
Field org.drools.core.rule.BaseAnnotatedAsset.annotations
At BaseAnnotatedAsset.java:[line 40]
At BaseAnnotatedAsset.java:[line 40]

Read of unwritten field Medium

Read of unwritten field annotations in org.drools.core.rule.BaseAnnotatedAsset.getDeclaredAnnotations()


In file BaseAnnotatedAsset.java, line 44
In class org.drools.core.rule.BaseAnnotatedAsset
In method org.drools.core.rule.BaseAnnotatedAsset.getDeclaredAnnotations()
Field org.drools.core.rule.BaseAnnotatedAsset.annotations
At BaseAnnotatedAsset.java:[line 44]
At BaseAnnotatedAsset.java:[line 44]

Read of unwritten field Medium

Read of unwritten field annotations in org.drools.core.rule.BaseAnnotatedAsset.isAnnotationPresent(Class)


In file BaseAnnotatedAsset.java, line 48
In class org.drools.core.rule.BaseAnnotatedAsset
In method org.drools.core.rule.BaseAnnotatedAsset.isAnnotationPresent(Class)
Field org.drools.core.rule.BaseAnnotatedAsset.annotations
At BaseAnnotatedAsset.java:[line 48]
At BaseAnnotatedAsset.java:[line 48]

Possible null pointer dereference Medium

Possible null pointer dereference of method in org.drools.core.rule.constraint.MvelConstraint.getFirstInvokedPropertyName(ConditionAnalyzer$Expression)


In file MvelConstraint.java, line 486
In class org.drools.core.rule.constraint.MvelConstraint
In method org.drools.core.rule.constraint.MvelConstraint.getFirstInvokedPropertyName(ConditionAnalyzer$Expression)
Value loaded from method
Dereferenced at MvelConstraint.java:[line 486]
Null value at MvelConstraint.java:[line 474]
Known null at MvelConstraint.java:[line 479]

Possible null pointer dereference Medium

Possible null pointer dereference of resolved in org.drools.core.rule.LogicTransformer.processElement(DeclarationScopeResolver, Stack, RuleConditionElement)


In file LogicTransformer.java, line 230
In class org.drools.core.rule.LogicTransformer
In method org.drools.core.rule.LogicTransformer.processElement(DeclarationScopeResolver, Stack, RuleConditionElement)
Value loaded from resolved
Dereferenced at LogicTransformer.java:[line 230]
Known null at LogicTransformer.java:[line 226]

Possible null pointer dereference in method on exception path Medium

Possible null pointer dereference of service in org.drools.core.time.TimerServiceFactory.getTimerService(SessionConfiguration) on exception path


In file TimerServiceFactory.java, line 33
In class org.drools.core.time.TimerServiceFactory
In method org.drools.core.time.TimerServiceFactory.getTimerService(SessionConfiguration)
Value loaded from service
Dereferenced at TimerServiceFactory.java:[line 33]
Null value at TimerServiceFactory.java:[line 24]
Known null at TimerServiceFactory.java:[line 25]

Possible null pointer dereference in method on exception path Medium

Possible null pointer dereference of v in org.drools.core.xml.jaxb.util.JaxbListAdapter.marshal(Collection) on exception path


In file JaxbListAdapter.java, line 55
In class org.drools.core.xml.jaxb.util.JaxbListAdapter
In method org.drools.core.xml.jaxb.util.JaxbListAdapter.marshal(Collection)
Value loaded from v
Dereferenced at JaxbListAdapter.java:[line 55]
Null value at JaxbListAdapter.java:[line 42]
Known null at JaxbListAdapter.java:[line 43]

Nullcheck of value previously dereferenced Medium

Nullcheck of object at line 344 of value previously dereferenced in org.drools.core.common.NamedEntryPoint.update(InternalFactHandle, Object, BitMask, Class, Activation)


In file NamedEntryPoint.java, line 340
In class org.drools.core.common.NamedEntryPoint
In method org.drools.core.common.NamedEntryPoint.update(InternalFactHandle, Object, BitMask, Class, Activation)
Value loaded from object
At NamedEntryPoint.java:[line 340]
Redundant null check at NamedEntryPoint.java:[line 344]
Redundant null check at NamedEntryPoint.java:[line 344]

Nullcheck of value previously dereferenced Medium

Nullcheck of coreKlazz at line 68 of value previously dereferenced in org.drools.core.factmodel.traits.TraitCoreWrapperClassBuilderImpl.buildClass(ClassDefinition, ClassLoader)


In file TraitCoreWrapperClassBuilderImpl.java, line 68
In class org.drools.core.factmodel.traits.TraitCoreWrapperClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitCoreWrapperClassBuilderImpl.buildClass(ClassDefinition, ClassLoader)
Value loaded from coreKlazz
Return value of org.drools.core.factmodel.ClassDefinition.getDefinedClass() of type Class
At TraitCoreWrapperClassBuilderImpl.java:[line 68]
Redundant null check at TraitCoreWrapperClassBuilderImpl.java:[line 152]
Redundant null check at TraitCoreWrapperClassBuilderImpl.java:[line 152]

Code checks for specific values returned by compareTo Medium

Check to see if return value of java.util.Comparator.compare(Object, Object) is equal to -1


In file HierarchySorter.java, line 33
In class org.drools.core.util.HierarchySorter
In method org.drools.core.util.HierarchySorter.sort(Collection, Comparator)
Called method java.util.Comparator.compare(Object, Object)
Value -1
At HierarchySorter.java:[line 33]
At HierarchySorter.java:[line 33]

Uncallable method defined in anonymous class Medium

Uncallable method org.drools.core.util.FastIterator$1.resume(Entry) defined in anonymous class


In file FastIterator.java, line 33
In class org.drools.core.util.FastIterator$1
In method org.drools.core.util.FastIterator$1.resume(Entry)
implements interface org.drools.core.util.FastIterator
At FastIterator.java:[line 33]

Uninitialized read of field in constructor Medium

Uninitialized read of ruleBaseConfig in new org.drools.core.marshalling.impl.ProtobufMarshaller(KieBase, MarshallingConfiguration)


In file ProtobufMarshaller.java, line 82
In class org.drools.core.marshalling.impl.ProtobufMarshaller
In method new org.drools.core.marshalling.impl.ProtobufMarshaller(KieBase, MarshallingConfiguration)
Field org.drools.core.marshalling.impl.ProtobufMarshaller.ruleBaseConfig
At ProtobufMarshaller.java:[line 82]

Unwritten field Medium

Unwritten field: org.drools.core.rule.BaseAnnotatedAsset.annotations


In file BaseAnnotatedAsset.java, line 36
In class org.drools.core.rule.BaseAnnotatedAsset
Field org.drools.core.rule.BaseAnnotatedAsset.annotations
At BaseAnnotatedAsset.java:[line 36]

Field only ever set to null Medium

Field only ever set to null: org.drools.core.util.index.IndexUtil$Factory$IndexSpec.ascendingConstraintType


In file IndexUtil.java, lines to
In class org.drools.core.util.index.IndexUtil$Factory$IndexSpec
Field org.drools.core.util.index.IndexUtil$Factory$IndexSpec.ascendingConstraintType
In IndexUtil.java

Field only ever set to null Medium

Field only ever set to null: org.drools.core.util.index.IndexUtil$Factory$IndexSpec.descendingConstraintType


In file IndexUtil.java, lines to
In class org.drools.core.util.index.IndexUtil$Factory$IndexSpec
Field org.drools.core.util.index.IndexUtil$Factory$IndexSpec.descendingConstraintType
In IndexUtil.java

Unwritten field Medium

Unwritten field: org.drools.core.world.impl.WorldImpl.lastReturnValue


In file WorldImpl.java, line 132
In class org.drools.core.world.impl.WorldImpl
Field org.drools.core.world.impl.WorldImpl.lastReturnValue
At WorldImpl.java:[line 132]



Experimental Warnings

Warning Priority Details
Method may fail to clean up stream or resource on checked exception Medium

org.drools.core.io.impl.UrlResource.cacheStream() may fail to clean up java.io.OutputStream on checked exception


In file UrlResource.java, line 219
In class org.drools.core.io.impl.UrlResource
In method org.drools.core.io.impl.UrlResource.cacheStream()
Reference type java.io.OutputStream
1 instances of obligation remaining
Obligation to clean up resource created at UrlResource.java:[line 219] is not discharged
Path continues at UrlResource.java:[line 220]
Path continues at UrlResource.java:[line 232]
Path continues at UrlResource.java:[line 233]
Path continues at UrlResource.java:[line 235]
Remaining obligations: {OutputStream x 1}



Internationalization Warnings

Warning Priority Details
Reliance on default encoding High

Found reliance on default encoding in org.drools.core.util.ServiceDiscoveryImpl.processKieConf(InputStream, ServiceRegistry): new java.io.InputStreamReader(InputStream)


In file ServiceDiscoveryImpl.java, line 73
In class org.drools.core.util.ServiceDiscoveryImpl
In method org.drools.core.util.ServiceDiscoveryImpl.processKieConf(InputStream, ServiceRegistry)
Called method new java.io.InputStreamReader(InputStream)
At ServiceDiscoveryImpl.java:[line 73]
At ServiceDiscoveryImpl.java:[line 73]



Malicious code vulnerability Warnings

Warning Priority Details
Field isn't final but should be High

org.drools.core.base.evaluators.AfterEvaluatorDefinition.AFTER isn't final but should be


In file AfterEvaluatorDefinition.java, line 86
In class org.drools.core.base.evaluators.AfterEvaluatorDefinition
Field org.drools.core.base.evaluators.AfterEvaluatorDefinition.AFTER
At AfterEvaluatorDefinition.java:[line 86]

Field isn't final but should be High

org.drools.core.base.evaluators.AfterEvaluatorDefinition.NOT_AFTER isn't final but should be


In file AfterEvaluatorDefinition.java, line 87
In class org.drools.core.base.evaluators.AfterEvaluatorDefinition
Field org.drools.core.base.evaluators.AfterEvaluatorDefinition.NOT_AFTER
At AfterEvaluatorDefinition.java:[line 87]

Field isn't final but should be High

org.drools.core.base.evaluators.BeforeEvaluatorDefinition.BEFORE isn't final but should be


In file BeforeEvaluatorDefinition.java, line 87
In class org.drools.core.base.evaluators.BeforeEvaluatorDefinition
Field org.drools.core.base.evaluators.BeforeEvaluatorDefinition.BEFORE
At BeforeEvaluatorDefinition.java:[line 87]

Field isn't final but should be High

org.drools.core.base.evaluators.BeforeEvaluatorDefinition.NOT_BEFORE isn't final but should be


In file BeforeEvaluatorDefinition.java, line 88
In class org.drools.core.base.evaluators.BeforeEvaluatorDefinition
Field org.drools.core.base.evaluators.BeforeEvaluatorDefinition.NOT_BEFORE
At BeforeEvaluatorDefinition.java:[line 88]

Field isn't final but should be High

org.drools.core.base.evaluators.IsAEvaluatorDefinition.ISA isn't final but should be


In file IsAEvaluatorDefinition.java, line 66
In class org.drools.core.base.evaluators.IsAEvaluatorDefinition
Field org.drools.core.base.evaluators.IsAEvaluatorDefinition.ISA
At IsAEvaluatorDefinition.java:[line 66]

Field isn't final but should be High

org.drools.core.base.evaluators.IsAEvaluatorDefinition.NOT_ISA isn't final but should be


In file IsAEvaluatorDefinition.java, line 67
In class org.drools.core.base.evaluators.IsAEvaluatorDefinition
Field org.drools.core.base.evaluators.IsAEvaluatorDefinition.NOT_ISA
At IsAEvaluatorDefinition.java:[line 67]

Field isn't final but should be High

org.drools.core.beliefsystem.jtms.JTMSBeliefSystem.STRICT isn't final but should be


In file JTMSBeliefSystem.java, line 45
In class org.drools.core.beliefsystem.jtms.JTMSBeliefSystem
Field org.drools.core.beliefsystem.jtms.JTMSBeliefSystem.STRICT
At JTMSBeliefSystem.java:[line 45]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue.PARSER isn't final but should be


In file ProtobufMessages.java, line 31501
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue.PARSER
At ProtobufMessages.java:[line 31501]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Action.PARSER isn't final but should be


In file ProtobufMessages.java, line 31987
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Action
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Action.PARSER
At ProtobufMessages.java:[line 31987]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Assert.PARSER isn't final but should be


In file ProtobufMessages.java, line 35888
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Assert
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Assert.PARSER
At ProtobufMessages.java:[line 35888]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$BehaviorExpire.PARSER isn't final but should be


In file ProtobufMessages.java, line 33778
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$BehaviorExpire
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$BehaviorExpire.PARSER
At ProtobufMessages.java:[line 33778]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$DeactivateCallback.PARSER isn't final but should be


In file ProtobufMessages.java, line 34179
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$DeactivateCallback
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$DeactivateCallback.PARSER
At ProtobufMessages.java:[line 34179]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Expire.PARSER isn't final but should be


In file ProtobufMessages.java, line 36868
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Expire
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Expire.PARSER
At ProtobufMessages.java:[line 36868]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$LogicalRetract.PARSER isn't final but should be


In file ProtobufMessages.java, line 34702
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$LogicalRetract
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$LogicalRetract.PARSER
At ProtobufMessages.java:[line 34702]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Propagate.PARSER isn't final but should be


In file ProtobufMessages.java, line 35395
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Propagate
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Propagate.PARSER
At ProtobufMessages.java:[line 35395]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Signal.PARSER isn't final but should be


In file ProtobufMessages.java, line 37350
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Signal
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Signal.PARSER
At ProtobufMessages.java:[line 37350]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$SignalProcessInstance.PARSER isn't final but should be


In file ProtobufMessages.java, line 37920
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$SignalProcessInstance
Field org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$SignalProcessInstance.PARSER
At ProtobufMessages.java:[line 37920]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Activation.PARSER isn't final but should be


In file ProtobufMessages.java, line 25568
In class org.drools.core.marshalling.impl.ProtobufMessages$Activation
Field org.drools.core.marshalling.impl.ProtobufMessages$Activation.PARSER
At ProtobufMessages.java:[line 25568]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Agenda.PARSER isn't final but should be


In file ProtobufMessages.java, line 8571
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda.PARSER
At ProtobufMessages.java:[line 8571]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup.PARSER isn't final but should be


In file ProtobufMessages.java, line 8831
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup.PARSER
At ProtobufMessages.java:[line 8831]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup$NodeInstance.PARSER isn't final but should be


In file ProtobufMessages.java, line 8959
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup$NodeInstance
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup$NodeInstance.PARSER
At ProtobufMessages.java:[line 8959]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Agenda$FocusStack.PARSER isn't final but should be


In file ProtobufMessages.java, line 10847
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$FocusStack
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda$FocusStack.PARSER
At ProtobufMessages.java:[line 10847]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup.PARSER isn't final but should be


In file ProtobufMessages.java, line 11435
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup.PARSER
At ProtobufMessages.java:[line 11435]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup$NodeInstance.PARSER isn't final but should be


In file ProtobufMessages.java, line 11563
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup$NodeInstance
Field org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup$NodeInstance.PARSER
At ProtobufMessages.java:[line 11563]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$BeliefSet.PARSER isn't final but should be


In file ProtobufMessages.java, line 29857
In class org.drools.core.marshalling.impl.ProtobufMessages$BeliefSet
Field org.drools.core.marshalling.impl.ProtobufMessages$BeliefSet.PARSER
At ProtobufMessages.java:[line 29857]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$EntryPoint.PARSER isn't final but should be


In file ProtobufMessages.java, line 22574
In class org.drools.core.marshalling.impl.ProtobufMessages$EntryPoint
Field org.drools.core.marshalling.impl.ProtobufMessages$EntryPoint.PARSER
At ProtobufMessages.java:[line 22574]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$EqualityKey.PARSER isn't final but should be


In file ProtobufMessages.java, line 29075
In class org.drools.core.marshalling.impl.ProtobufMessages$EqualityKey
Field org.drools.core.marshalling.impl.ProtobufMessages$EqualityKey.PARSER
At ProtobufMessages.java:[line 29075]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$FactHandle.PARSER isn't final but should be


In file ProtobufMessages.java, line 24054
In class org.drools.core.marshalling.impl.ProtobufMessages$FactHandle
Field org.drools.core.marshalling.impl.ProtobufMessages$FactHandle.PARSER
At ProtobufMessages.java:[line 24054]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Header.PARSER isn't final but should be


In file ProtobufMessages.java, line 308
In class org.drools.core.marshalling.impl.ProtobufMessages$Header
Field org.drools.core.marshalling.impl.ProtobufMessages$Header.PARSER
At ProtobufMessages.java:[line 308]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Header$StrategyIndex.PARSER isn't final but should be


In file ProtobufMessages.java, line 451
In class org.drools.core.marshalling.impl.ProtobufMessages$Header$StrategyIndex
Field org.drools.core.marshalling.impl.ProtobufMessages$Header$StrategyIndex.PARSER
At ProtobufMessages.java:[line 451]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeBase.PARSER isn't final but should be


In file ProtobufMessages.java, line 3824
In class org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeBase
Field org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeBase.PARSER
At ProtobufMessages.java:[line 3824]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeSession.PARSER isn't final but should be


In file ProtobufMessages.java, line 4506
In class org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeSession
Field org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeSession.PARSER
At ProtobufMessages.java:[line 4506]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$LogicalDependency.PARSER isn't final but should be


In file ProtobufMessages.java, line 30667
In class org.drools.core.marshalling.impl.ProtobufMessages$LogicalDependency
Field org.drools.core.marshalling.impl.ProtobufMessages$LogicalDependency.PARSER
At ProtobufMessages.java:[line 30667]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory.PARSER isn't final but should be


In file ProtobufMessages.java, line 15217
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory.PARSER
At ProtobufMessages.java:[line 15217]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory.PARSER isn't final but should be


In file ProtobufMessages.java, line 15446
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory.PARSER
At ProtobufMessages.java:[line 15446]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory$AccumulateContext.PARSER isn't final but should be


In file ProtobufMessages.java, line 15593
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory$AccumulateContext
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$AccumulateNodeMemory$AccumulateContext.PARSER
At ProtobufMessages.java:[line 15593]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory.PARSER isn't final but should be


In file ProtobufMessages.java, line 18192
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory.PARSER
At ProtobufMessages.java:[line 18192]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory$FromContext.PARSER isn't final but should be


In file ProtobufMessages.java, line 18348
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory$FromContext
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$FromNodeMemory$FromContext.PARSER
At ProtobufMessages.java:[line 18348]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory.PARSER isn't final but should be


In file ProtobufMessages.java, line 19735
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory.PARSER
At ProtobufMessages.java:[line 19735]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory$QueryContext.PARSER isn't final but should be


In file ProtobufMessages.java, line 19918
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory$QueryContext
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$QueryElementNodeMemory$QueryContext.PARSER
At ProtobufMessages.java:[line 19918]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory.PARSER isn't final but should be


In file ProtobufMessages.java, line 16819
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory.PARSER
At ProtobufMessages.java:[line 16819]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory$RIAContext.PARSER isn't final but should be


In file ProtobufMessages.java, line 16966
In class org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory$RIAContext
Field org.drools.core.marshalling.impl.ProtobufMessages$NodeMemory$RIANodeMemory$RIAContext.PARSER
At ProtobufMessages.java:[line 16966]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ObjectTypeConfiguration.PARSER isn't final but should be


In file ProtobufMessages.java, line 28463
In class org.drools.core.marshalling.impl.ProtobufMessages$ObjectTypeConfiguration
Field org.drools.core.marshalling.impl.ProtobufMessages$ObjectTypeConfiguration.PARSER
At ProtobufMessages.java:[line 28463]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$ProcessData.PARSER isn't final but should be


In file ProtobufMessages.java, line 8034
In class org.drools.core.marshalling.impl.ProtobufMessages$ProcessData
Field org.drools.core.marshalling.impl.ProtobufMessages$ProcessData.PARSER
At ProtobufMessages.java:[line 8034]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$RuleData.PARSER isn't final but should be


In file ProtobufMessages.java, line 5700
In class org.drools.core.marshalling.impl.ProtobufMessages$RuleData
Field org.drools.core.marshalling.impl.ProtobufMessages$RuleData.PARSER
At ProtobufMessages.java:[line 5700]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$RuntimeClassDef.PARSER isn't final but should be


In file ProtobufMessages.java, line 7498
In class org.drools.core.marshalling.impl.ProtobufMessages$RuntimeClassDef
Field org.drools.core.marshalling.impl.ProtobufMessages$RuntimeClassDef.PARSER
At ProtobufMessages.java:[line 7498]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Signature.PARSER isn't final but should be


In file ProtobufMessages.java, line 3256
In class org.drools.core.marshalling.impl.ProtobufMessages$Signature
Field org.drools.core.marshalling.impl.ProtobufMessages$Signature.PARSER
At ProtobufMessages.java:[line 3256]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Timers.PARSER isn't final but should be


In file ProtobufMessages.java, line 39087
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers.PARSER
At ProtobufMessages.java:[line 39087]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Timers$ActivationTimer.PARSER isn't final but should be


In file ProtobufMessages.java, line 41320
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$ActivationTimer
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers$ActivationTimer.PARSER
At ProtobufMessages.java:[line 41320]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Timers$BehaviorTimer.PARSER isn't final but should be


In file ProtobufMessages.java, line 42010
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$BehaviorTimer
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers$BehaviorTimer.PARSER
At ProtobufMessages.java:[line 42010]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Timers$ExpireTimer.PARSER isn't final but should be


In file ProtobufMessages.java, line 40547
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$ExpireTimer
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers$ExpireTimer.PARSER
At ProtobufMessages.java:[line 40547]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Timers$Timer.PARSER isn't final but should be


In file ProtobufMessages.java, line 39419
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$Timer
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers$Timer.PARSER
At ProtobufMessages.java:[line 39419]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Timers$TimerNodeTimer.PARSER isn't final but should be


In file ProtobufMessages.java, line 42592
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$TimerNodeTimer
Field org.drools.core.marshalling.impl.ProtobufMessages$Timers$TimerNodeTimer.PARSER
At ProtobufMessages.java:[line 42592]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Trigger.PARSER isn't final but should be


In file ProtobufMessages.java, line 43989
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger
Field org.drools.core.marshalling.impl.ProtobufMessages$Trigger.PARSER
At ProtobufMessages.java:[line 43989]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CompositeMaxDurationTrigger.PARSER isn't final but should be


In file ProtobufMessages.java, line 46682
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CompositeMaxDurationTrigger
Field org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CompositeMaxDurationTrigger.PARSER
At ProtobufMessages.java:[line 46682]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CronTrigger.PARSER isn't final but should be


In file ProtobufMessages.java, line 44308
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CronTrigger
Field org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CronTrigger.PARSER
At ProtobufMessages.java:[line 44308]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Trigger$IntervalTrigger.PARSER isn't final but should be


In file ProtobufMessages.java, line 45364
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$IntervalTrigger
Field org.drools.core.marshalling.impl.ProtobufMessages$Trigger$IntervalTrigger.PARSER
At ProtobufMessages.java:[line 45364]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Trigger$PointInTimeTrigger.PARSER isn't final but should be


In file ProtobufMessages.java, line 46244
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$PointInTimeTrigger
Field org.drools.core.marshalling.impl.ProtobufMessages$Trigger$PointInTimeTrigger.PARSER
At ProtobufMessages.java:[line 46244]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$TruthMaintenanceSystem.PARSER isn't final but should be


In file ProtobufMessages.java, line 27464
In class org.drools.core.marshalling.impl.ProtobufMessages$TruthMaintenanceSystem
Field org.drools.core.marshalling.impl.ProtobufMessages$TruthMaintenanceSystem.PARSER
At ProtobufMessages.java:[line 27464]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Tuple.PARSER isn't final but should be


In file ProtobufMessages.java, line 26961
In class org.drools.core.marshalling.impl.ProtobufMessages$Tuple
Field org.drools.core.marshalling.impl.ProtobufMessages$Tuple.PARSER
At ProtobufMessages.java:[line 26961]

Field isn't final but should be High

org.drools.core.marshalling.impl.ProtobufMessages$Version.PARSER isn't final but should be


In file ProtobufMessages.java, line 2708
In class org.drools.core.marshalling.impl.ProtobufMessages$Version
Field org.drools.core.marshalling.impl.ProtobufMessages$Version.PARSER
At ProtobufMessages.java:[line 2708]

Field isn't final but should be High

org.drools.core.xml.jaxb.util.JaxbListAdapter.logger isn't final but should be


In file JaxbListAdapter.java, line 35
In class org.drools.core.xml.jaxb.util.JaxbListAdapter
Field org.drools.core.xml.jaxb.util.JaxbListAdapter.logger
At JaxbListAdapter.java:[line 35]

Field isn't final but should be High

org.drools.core.xml.jaxb.util.JaxbMapAdapter.logger isn't final but should be


In file JaxbMapAdapter.java, line 35
In class org.drools.core.xml.jaxb.util.JaxbMapAdapter
Field org.drools.core.xml.jaxb.util.JaxbMapAdapter.logger
At JaxbMapAdapter.java:[line 35]

Classloaders should only be created inside doPrivileged block Medium

new org.drools.core.base.ClassFieldAccessorCache$CacheEntry(ClassLoader) creates a org.drools.core.base.ClassFieldAccessorCache$DefaultByteArrayClassLoader classloader, which should be performed within a doPrivileged block


In file ClassFieldAccessorCache.java, line 165
In class org.drools.core.base.ClassFieldAccessorCache$CacheEntry
In method new org.drools.core.base.ClassFieldAccessorCache$CacheEntry(ClassLoader)
In class org.drools.core.base.ClassFieldAccessorCache$DefaultByteArrayClassLoader
At ClassFieldAccessorCache.java:[line 165]
At ClassFieldAccessorCache.java:[line 165]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.ArrayElements.getElements() may expose internal representation by returning ArrayElements.elements


In file ArrayElements.java, line 52
In class org.drools.core.base.ArrayElements
In method org.drools.core.base.ArrayElements.getElements()
Field org.drools.core.base.ArrayElements.elements
At ArrayElements.java:[line 52]
At ArrayElements.java:[line 52]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.DroolsQuery.getVariables() may expose internal representation by returning DroolsQuery.vars


In file DroolsQuery.java, line 96
In class org.drools.core.base.DroolsQuery
In method org.drools.core.base.DroolsQuery.getVariables()
Field org.drools.core.base.DroolsQuery.vars
At DroolsQuery.java:[line 96]
At DroolsQuery.java:[line 96]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.AfterEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning AfterEvaluatorDefinition.SUPPORTED_IDS


In file AfterEvaluatorDefinition.java, line 177
In class org.drools.core.base.evaluators.AfterEvaluatorDefinition
In method org.drools.core.base.evaluators.AfterEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.AfterEvaluatorDefinition.SUPPORTED_IDS
At AfterEvaluatorDefinition.java:[line 177]
At AfterEvaluatorDefinition.java:[line 177]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.BeforeEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning BeforeEvaluatorDefinition.SUPPORTED_IDS


In file BeforeEvaluatorDefinition.java, line 174
In class org.drools.core.base.evaluators.BeforeEvaluatorDefinition
In method org.drools.core.base.evaluators.BeforeEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.BeforeEvaluatorDefinition.SUPPORTED_IDS
At BeforeEvaluatorDefinition.java:[line 174]
At BeforeEvaluatorDefinition.java:[line 174]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.CoincidesEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning CoincidesEvaluatorDefinition.SUPPORTED_IDS


In file CoincidesEvaluatorDefinition.java, line 175
In class org.drools.core.base.evaluators.CoincidesEvaluatorDefinition
In method org.drools.core.base.evaluators.CoincidesEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.CoincidesEvaluatorDefinition.SUPPORTED_IDS
At CoincidesEvaluatorDefinition.java:[line 175]
At CoincidesEvaluatorDefinition.java:[line 175]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.DuringEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning DuringEvaluatorDefinition.SUPPORTED_IDS


In file DuringEvaluatorDefinition.java, line 196
In class org.drools.core.base.evaluators.DuringEvaluatorDefinition
In method org.drools.core.base.evaluators.DuringEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.DuringEvaluatorDefinition.SUPPORTED_IDS
At DuringEvaluatorDefinition.java:[line 196]
At DuringEvaluatorDefinition.java:[line 196]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.FinishedByEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning FinishedByEvaluatorDefinition.SUPPORTED_IDS


In file FinishedByEvaluatorDefinition.java, line 174
In class org.drools.core.base.evaluators.FinishedByEvaluatorDefinition
In method org.drools.core.base.evaluators.FinishedByEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.FinishedByEvaluatorDefinition.SUPPORTED_IDS
At FinishedByEvaluatorDefinition.java:[line 174]
At FinishedByEvaluatorDefinition.java:[line 174]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.FinishesEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning FinishesEvaluatorDefinition.SUPPORTED_IDS


In file FinishesEvaluatorDefinition.java, line 173
In class org.drools.core.base.evaluators.FinishesEvaluatorDefinition
In method org.drools.core.base.evaluators.FinishesEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.FinishesEvaluatorDefinition.SUPPORTED_IDS
At FinishesEvaluatorDefinition.java:[line 173]
At FinishesEvaluatorDefinition.java:[line 173]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.IncludesEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning IncludesEvaluatorDefinition.SUPPORTED_IDS


In file IncludesEvaluatorDefinition.java, line 197
In class org.drools.core.base.evaluators.IncludesEvaluatorDefinition
In method org.drools.core.base.evaluators.IncludesEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.IncludesEvaluatorDefinition.SUPPORTED_IDS
At IncludesEvaluatorDefinition.java:[line 197]
At IncludesEvaluatorDefinition.java:[line 197]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.IsAEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning IsAEvaluatorDefinition.SUPPORTED_IDS


In file IsAEvaluatorDefinition.java, line 115
In class org.drools.core.base.evaluators.IsAEvaluatorDefinition
In method org.drools.core.base.evaluators.IsAEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.IsAEvaluatorDefinition.SUPPORTED_IDS
At IsAEvaluatorDefinition.java:[line 115]
At IsAEvaluatorDefinition.java:[line 115]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.MatchesEvaluatorsDefinition.getEvaluatorIds() may expose internal representation by returning MatchesEvaluatorsDefinition.SUPPORTED_IDS


In file MatchesEvaluatorsDefinition.java, line 119
In class org.drools.core.base.evaluators.MatchesEvaluatorsDefinition
In method org.drools.core.base.evaluators.MatchesEvaluatorsDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.MatchesEvaluatorsDefinition.SUPPORTED_IDS
At MatchesEvaluatorsDefinition.java:[line 119]
At MatchesEvaluatorsDefinition.java:[line 119]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.MeetsEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning MeetsEvaluatorDefinition.SUPPORTED_IDS


In file MeetsEvaluatorDefinition.java, line 173
In class org.drools.core.base.evaluators.MeetsEvaluatorDefinition
In method org.drools.core.base.evaluators.MeetsEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.MeetsEvaluatorDefinition.SUPPORTED_IDS
At MeetsEvaluatorDefinition.java:[line 173]
At MeetsEvaluatorDefinition.java:[line 173]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.MetByEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning MetByEvaluatorDefinition.SUPPORTED_IDS


In file MetByEvaluatorDefinition.java, line 173
In class org.drools.core.base.evaluators.MetByEvaluatorDefinition
In method org.drools.core.base.evaluators.MetByEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.MetByEvaluatorDefinition.SUPPORTED_IDS
At MetByEvaluatorDefinition.java:[line 173]
At MetByEvaluatorDefinition.java:[line 173]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.OverlappedByEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning OverlappedByEvaluatorDefinition.SUPPORTED_IDS


In file OverlappedByEvaluatorDefinition.java, line 182
In class org.drools.core.base.evaluators.OverlappedByEvaluatorDefinition
In method org.drools.core.base.evaluators.OverlappedByEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.OverlappedByEvaluatorDefinition.SUPPORTED_IDS
At OverlappedByEvaluatorDefinition.java:[line 182]
At OverlappedByEvaluatorDefinition.java:[line 182]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.OverlapsEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning OverlapsEvaluatorDefinition.SUPPORTED_IDS


In file OverlapsEvaluatorDefinition.java, line 183
In class org.drools.core.base.evaluators.OverlapsEvaluatorDefinition
In method org.drools.core.base.evaluators.OverlapsEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.OverlapsEvaluatorDefinition.SUPPORTED_IDS
At OverlapsEvaluatorDefinition.java:[line 183]
At OverlapsEvaluatorDefinition.java:[line 183]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.SetEvaluatorsDefinition.getEvaluatorIds() may expose internal representation by returning SetEvaluatorsDefinition.SUPPORTED_IDS


In file SetEvaluatorsDefinition.java, line 289
In class org.drools.core.base.evaluators.SetEvaluatorsDefinition
In method org.drools.core.base.evaluators.SetEvaluatorsDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.SetEvaluatorsDefinition.SUPPORTED_IDS
At SetEvaluatorsDefinition.java:[line 289]
At SetEvaluatorsDefinition.java:[line 289]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition.getEvaluatorIds() may expose internal representation by returning SoundslikeEvaluatorsDefinition.SUPPORTED_IDS


In file SoundslikeEvaluatorsDefinition.java, line 120
In class org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition
In method org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition.SUPPORTED_IDS
At SoundslikeEvaluatorsDefinition.java:[line 120]
At SoundslikeEvaluatorsDefinition.java:[line 120]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.StartedByEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning StartedByEvaluatorDefinition.SUPPORTED_IDS


In file StartedByEvaluatorDefinition.java, line 173
In class org.drools.core.base.evaluators.StartedByEvaluatorDefinition
In method org.drools.core.base.evaluators.StartedByEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.StartedByEvaluatorDefinition.SUPPORTED_IDS
At StartedByEvaluatorDefinition.java:[line 173]
At StartedByEvaluatorDefinition.java:[line 173]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.StartsEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning StartsEvaluatorDefinition.SUPPORTED_IDS


In file StartsEvaluatorDefinition.java, line 174
In class org.drools.core.base.evaluators.StartsEvaluatorDefinition
In method org.drools.core.base.evaluators.StartsEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.StartsEvaluatorDefinition.SUPPORTED_IDS
At StartsEvaluatorDefinition.java:[line 174]
At StartsEvaluatorDefinition.java:[line 174]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.evaluators.StrEvaluatorDefinition.getEvaluatorIds() may expose internal representation by returning StrEvaluatorDefinition.SUPPORTED_IDS


In file StrEvaluatorDefinition.java, line 109
In class org.drools.core.base.evaluators.StrEvaluatorDefinition
In method org.drools.core.base.evaluators.StrEvaluatorDefinition.getEvaluatorIds()
Field org.drools.core.base.evaluators.StrEvaluatorDefinition.SUPPORTED_IDS
At StrEvaluatorDefinition.java:[line 109]
At StrEvaluatorDefinition.java:[line 109]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.mvel.MVELCompilationUnit.getGlobalIdentifiers() may expose internal representation by returning MVELCompilationUnit.globalIdentifiers


In file MVELCompilationUnit.java, line 521
In class org.drools.core.base.mvel.MVELCompilationUnit
In method org.drools.core.base.mvel.MVELCompilationUnit.getGlobalIdentifiers()
Field org.drools.core.base.mvel.MVELCompilationUnit.globalIdentifiers
At MVELCompilationUnit.java:[line 521]
At MVELCompilationUnit.java:[line 521]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.mvel.MVELCompilationUnit.getInputIdentifiers() may expose internal representation by returning MVELCompilationUnit.inputIdentifiers


In file MVELCompilationUnit.java, line 541
In class org.drools.core.base.mvel.MVELCompilationUnit
In method org.drools.core.base.mvel.MVELCompilationUnit.getInputIdentifiers()
Field org.drools.core.base.mvel.MVELCompilationUnit.inputIdentifiers
At MVELCompilationUnit.java:[line 541]
At MVELCompilationUnit.java:[line 541]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.mvel.MVELCompilationUnit.getInputTypes() may expose internal representation by returning MVELCompilationUnit.inputTypes


In file MVELCompilationUnit.java, line 545
In class org.drools.core.base.mvel.MVELCompilationUnit
In method org.drools.core.base.mvel.MVELCompilationUnit.getInputTypes()
Field org.drools.core.base.mvel.MVELCompilationUnit.inputTypes
At MVELCompilationUnit.java:[line 545]
At MVELCompilationUnit.java:[line 545]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.mvel.MVELCompilationUnit.getLocalDeclarations() may expose internal representation by returning MVELCompilationUnit.localDeclarations


In file MVELCompilationUnit.java, line 533
In class org.drools.core.base.mvel.MVELCompilationUnit
In method org.drools.core.base.mvel.MVELCompilationUnit.getLocalDeclarations()
Field org.drools.core.base.mvel.MVELCompilationUnit.localDeclarations
At MVELCompilationUnit.java:[line 533]
At MVELCompilationUnit.java:[line 533]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.mvel.MVELCompilationUnit.getOtherIdentifiers() may expose internal representation by returning MVELCompilationUnit.otherIdentifiers


In file MVELCompilationUnit.java, line 537
In class org.drools.core.base.mvel.MVELCompilationUnit
In method org.drools.core.base.mvel.MVELCompilationUnit.getOtherIdentifiers()
Field org.drools.core.base.mvel.MVELCompilationUnit.otherIdentifiers
At MVELCompilationUnit.java:[line 537]
At MVELCompilationUnit.java:[line 537]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.mvel.MVELCompilationUnit.getPreviousDeclarations() may expose internal representation by returning MVELCompilationUnit.previousDeclarations


In file MVELCompilationUnit.java, line 525
In class org.drools.core.base.mvel.MVELCompilationUnit
In method org.drools.core.base.mvel.MVELCompilationUnit.getPreviousDeclarations()
Field org.drools.core.base.mvel.MVELCompilationUnit.previousDeclarations
At MVELCompilationUnit.java:[line 525]
At MVELCompilationUnit.java:[line 525]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.base.QueryRowWithSubruleIndex.getHandles() may expose internal representation by returning QueryRowWithSubruleIndex.handles


In file QueryRowWithSubruleIndex.java, line 32
In class org.drools.core.base.QueryRowWithSubruleIndex
In method org.drools.core.base.QueryRowWithSubruleIndex.getHandles()
Field org.drools.core.base.QueryRowWithSubruleIndex.handles
At QueryRowWithSubruleIndex.java:[line 32]
At QueryRowWithSubruleIndex.java:[line 32]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.beliefsystem.defeasible.DefeasibleMode.getDefeats() may expose internal representation by returning DefeasibleMode.defeats


In file DefeasibleMode.java, line 156
In class org.drools.core.beliefsystem.defeasible.DefeasibleMode
In method org.drools.core.beliefsystem.defeasible.DefeasibleMode.getDefeats()
Field org.drools.core.beliefsystem.defeasible.DefeasibleMode.defeats
At DefeasibleMode.java:[line 156]
At DefeasibleMode.java:[line 156]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.common.DefaultBetaConstraints.getConstraints() may expose internal representation by returning DefaultBetaConstraints.constraints


In file DefaultBetaConstraints.java, line 229
In class org.drools.core.common.DefaultBetaConstraints
In method org.drools.core.common.DefaultBetaConstraints.getConstraints()
Field org.drools.core.common.DefaultBetaConstraints.constraints
At DefaultBetaConstraints.java:[line 229]
At DefaultBetaConstraints.java:[line 229]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.common.InstanceEqualsConstraint.getRequiredDeclarations() may expose internal representation by returning InstanceEqualsConstraint.declarations


In file InstanceEqualsConstraint.java, line 66
In class org.drools.core.common.InstanceEqualsConstraint
In method org.drools.core.common.InstanceEqualsConstraint.getRequiredDeclarations()
Field org.drools.core.common.InstanceEqualsConstraint.declarations
At InstanceEqualsConstraint.java:[line 66]
At InstanceEqualsConstraint.java:[line 66]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.common.InstanceNotEqualsConstraint.getRequiredDeclarations() may expose internal representation by returning InstanceNotEqualsConstraint.declarations


In file InstanceNotEqualsConstraint.java, line 60
In class org.drools.core.common.InstanceNotEqualsConstraint
In method org.drools.core.common.InstanceNotEqualsConstraint.getRequiredDeclarations()
Field org.drools.core.common.InstanceNotEqualsConstraint.declarations
At InstanceNotEqualsConstraint.java:[line 60]
At InstanceNotEqualsConstraint.java:[line 60]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.common.MultipleBetaConstraint.getConstraints() may expose internal representation by returning MultipleBetaConstraint.constraints


In file MultipleBetaConstraint.java, line 111
In class org.drools.core.common.MultipleBetaConstraint
In method org.drools.core.common.MultipleBetaConstraint.getConstraints()
Field org.drools.core.common.MultipleBetaConstraint.constraints
At MultipleBetaConstraint.java:[line 111]
At MultipleBetaConstraint.java:[line 111]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.common.TupleStartEqualsConstraint.getRequiredDeclarations() may expose internal representation by returning TupleStartEqualsConstraint.declarations


In file TupleStartEqualsConstraint.java, line 75
In class org.drools.core.common.TupleStartEqualsConstraint
In method org.drools.core.common.TupleStartEqualsConstraint.getRequiredDeclarations()
Field org.drools.core.common.TupleStartEqualsConstraint.declarations
At TupleStartEqualsConstraint.java:[line 75]
At TupleStartEqualsConstraint.java:[line 75]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.definitions.rule.impl.RuleImpl.getCalendars() may expose internal representation by returning RuleImpl.calendars


In file RuleImpl.java, line 786
In class org.drools.core.definitions.rule.impl.RuleImpl
In method org.drools.core.definitions.rule.impl.RuleImpl.getCalendars()
Field org.drools.core.definitions.rule.impl.RuleImpl.calendars
At RuleImpl.java:[line 786]
At RuleImpl.java:[line 786]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.factmodel.ClassDefinition.getInterfaces() may expose internal representation by returning ClassDefinition.interfaces


In file ClassDefinition.java, line 212
In class org.drools.core.factmodel.ClassDefinition
In method org.drools.core.factmodel.ClassDefinition.getInterfaces()
Field org.drools.core.factmodel.ClassDefinition.interfaces
At ClassDefinition.java:[line 212]
At ClassDefinition.java:[line 212]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.facttemplates.FactTemplateImpl.getAllFieldTemplates() may expose internal representation by returning FactTemplateImpl.fields


In file FactTemplateImpl.java, line 95
In class org.drools.core.facttemplates.FactTemplateImpl
In method org.drools.core.facttemplates.FactTemplateImpl.getAllFieldTemplates()
Field org.drools.core.facttemplates.FactTemplateImpl.fields
At FactTemplateImpl.java:[line 95]
At FactTemplateImpl.java:[line 95]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.io.impl.ByteArrayResource.getBytes() may expose internal representation by returning ByteArrayResource.bytes


In file ByteArrayResource.java, line 93
In class org.drools.core.io.impl.ByteArrayResource
In method org.drools.core.io.impl.ByteArrayResource.getBytes()
Field org.drools.core.io.impl.ByteArrayResource.bytes
At ByteArrayResource.java:[line 93]
At ByteArrayResource.java:[line 93]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.metadata.ClassLiteral.getProperties() may expose internal representation by returning ClassLiteral.properties


In file ClassLiteral.java, line 38
In class org.drools.core.metadata.ClassLiteral
In method org.drools.core.metadata.ClassLiteral.getProperties()
Field org.drools.core.metadata.ClassLiteral.properties
At ClassLiteral.java:[line 38]
At ClassLiteral.java:[line 38]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.metadata.ModifyLiteral.getAdditionalUpdates() may expose internal representation by returning ModifyLiteral.with


In file ModifyLiteral.java, line 93
In class org.drools.core.metadata.ModifyLiteral
In method org.drools.core.metadata.ModifyLiteral.getAdditionalUpdates()
Field org.drools.core.metadata.ModifyLiteral.with
At ModifyLiteral.java:[line 93]
At ModifyLiteral.java:[line 93]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.metadata.With.getArgs() may expose internal representation by returning With.args


In file With.java, line 45
In class org.drools.core.metadata.With
In method org.drools.core.metadata.With.getArgs()
Field org.drools.core.metadata.With.args
At With.java:[line 45]
At With.java:[line 45]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.phreak.StackEntry.getSmems() may expose internal representation by returning StackEntry.smems


In file StackEntry.java, line 87
In class org.drools.core.phreak.StackEntry
In method org.drools.core.phreak.StackEntry.getSmems()
Field org.drools.core.phreak.StackEntry.smems
At StackEntry.java:[line 87]
At StackEntry.java:[line 87]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.QueryResultsImpl.getDeclarations() may expose internal representation by returning QueryResultsImpl.declarations


In file QueryResultsImpl.java, line 66
In class org.drools.core.QueryResultsImpl
In method org.drools.core.QueryResultsImpl.getDeclarations()
Field org.drools.core.QueryResultsImpl.declarations
At QueryResultsImpl.java:[line 66]
At QueryResultsImpl.java:[line 66]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.QueryResultsImpl.getIdentifiers() may expose internal representation by returning QueryResultsImpl.identifiers


In file QueryResultsImpl.java, line 96
In class org.drools.core.QueryResultsImpl
In method org.drools.core.QueryResultsImpl.getIdentifiers()
Field org.drools.core.QueryResultsImpl.identifiers
At QueryResultsImpl.java:[line 96]
At QueryResultsImpl.java:[line 96]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.QueryResultsImpl.getParameters() may expose internal representation by returning QueryResultsImpl.parameters


In file QueryResultsImpl.java, line 70
In class org.drools.core.QueryResultsImpl
In method org.drools.core.QueryResultsImpl.getParameters()
Field org.drools.core.QueryResultsImpl.parameters
At QueryResultsImpl.java:[line 70]
At QueryResultsImpl.java:[line 70]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.AbstractTerminalNode.getPathEndNodes() may expose internal representation by returning AbstractTerminalNode.pathEndNodes


In file AbstractTerminalNode.java, line 91
In class org.drools.core.reteoo.AbstractTerminalNode
In method org.drools.core.reteoo.AbstractTerminalNode.getPathEndNodes()
Field org.drools.core.reteoo.AbstractTerminalNode.pathEndNodes
At AbstractTerminalNode.java:[line 91]
At AbstractTerminalNode.java:[line 91]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.AbstractTerminalNode.getPathNodes() may expose internal representation by returning AbstractTerminalNode.pathNodes


In file AbstractTerminalNode.java, line 313
In class org.drools.core.reteoo.AbstractTerminalNode
In method org.drools.core.reteoo.AbstractTerminalNode.getPathNodes()
Field org.drools.core.reteoo.AbstractTerminalNode.pathNodes
At AbstractTerminalNode.java:[line 313]
At AbstractTerminalNode.java:[line 313]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.AccumulateNode.getResultConstraints() may expose internal representation by returning AccumulateNode.resultConstraints


In file AccumulateNode.java, line 119
In class org.drools.core.reteoo.AccumulateNode
In method org.drools.core.reteoo.AccumulateNode.getResultConstraints()
Field org.drools.core.reteoo.AccumulateNode.resultConstraints
At AccumulateNode.java:[line 119]
At AccumulateNode.java:[line 119]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.BetaMemory.getContext() may expose internal representation by returning BetaMemory.context


In file BetaMemory.java, line 84
In class org.drools.core.reteoo.BetaMemory
In method org.drools.core.reteoo.BetaMemory.getContext()
Field org.drools.core.reteoo.BetaMemory.context
At BetaMemory.java:[line 84]
At BetaMemory.java:[line 84]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.builder.BuildContext.getLastBuiltPatterns() may expose internal representation by returning BuildContext.lastBuiltPatterns


In file BuildContext.java, line 466
In class org.drools.core.reteoo.builder.BuildContext
In method org.drools.core.reteoo.builder.BuildContext.getLastBuiltPatterns()
Field org.drools.core.reteoo.builder.BuildContext.lastBuiltPatterns
At BuildContext.java:[line 466]
At BuildContext.java:[line 466]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.builder.BuildContext.getWorkingMemories() may expose internal representation by returning BuildContext.workingMemories


In file BuildContext.java, line 240
In class org.drools.core.reteoo.builder.BuildContext
In method org.drools.core.reteoo.builder.BuildContext.getWorkingMemories()
Field org.drools.core.reteoo.builder.BuildContext.workingMemories
At BuildContext.java:[line 240]
At BuildContext.java:[line 240]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.ClassObjectTypeConf.getObjectTypeNodes() may expose internal representation by returning ClassObjectTypeConf.objectTypeNodes


In file ClassObjectTypeConf.java, line 192
In class org.drools.core.reteoo.ClassObjectTypeConf
In method org.drools.core.reteoo.ClassObjectTypeConf.getObjectTypeNodes()
Field org.drools.core.reteoo.ClassObjectTypeConf.objectTypeNodes
At ClassObjectTypeConf.java:[line 192]
At ClassObjectTypeConf.java:[line 192]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.CompositeLeftTupleSinkAdapter.getSinks() may expose internal representation by returning CompositeLeftTupleSinkAdapter.sinkArray


In file CompositeLeftTupleSinkAdapter.java, line 176
In class org.drools.core.reteoo.CompositeLeftTupleSinkAdapter
In method org.drools.core.reteoo.CompositeLeftTupleSinkAdapter.getSinks()
Field org.drools.core.reteoo.CompositeLeftTupleSinkAdapter.sinkArray
At CompositeLeftTupleSinkAdapter.java:[line 176]
At CompositeLeftTupleSinkAdapter.java:[line 176]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.CompositeObjectSinkAdapter.getSinks() may expose internal representation by returning CompositeObjectSinkAdapter.sinks


In file CompositeObjectSinkAdapter.java, line 541
In class org.drools.core.reteoo.CompositeObjectSinkAdapter
In method org.drools.core.reteoo.CompositeObjectSinkAdapter.getSinks()
Field org.drools.core.reteoo.CompositeObjectSinkAdapter.sinks
At CompositeObjectSinkAdapter.java:[line 541]
At CompositeObjectSinkAdapter.java:[line 541]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.FactTemplateTypeConf.getObjectTypeNodes() may expose internal representation by returning FactTemplateTypeConf.cache


In file FactTemplateTypeConf.java, line 92
In class org.drools.core.reteoo.FactTemplateTypeConf
In method org.drools.core.reteoo.FactTemplateTypeConf.getObjectTypeNodes()
Field org.drools.core.reteoo.FactTemplateTypeConf.cache
At FactTemplateTypeConf.java:[line 92]
At FactTemplateTypeConf.java:[line 92]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.FromNode.getAlphaConstraints() may expose internal representation by returning FromNode.alphaConstraints


In file FromNode.java, line 152
In class org.drools.core.reteoo.FromNode
In method org.drools.core.reteoo.FromNode.getAlphaConstraints()
Field org.drools.core.reteoo.FromNode.alphaConstraints
At FromNode.java:[line 152]
At FromNode.java:[line 152]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.PathMemory.getSegmentMemories() may expose internal representation by returning PathMemory.segmentMemories


In file PathMemory.java, line 183
In class org.drools.core.reteoo.PathMemory
In method org.drools.core.reteoo.PathMemory.getSegmentMemories()
Field org.drools.core.reteoo.PathMemory.segmentMemories
At PathMemory.java:[line 183]
At PathMemory.java:[line 183]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.QueryTerminalNode.getAllDeclarations() may expose internal representation by returning QueryTerminalNode.allDeclarations


In file QueryTerminalNode.java, line 159
In class org.drools.core.reteoo.QueryTerminalNode
In method org.drools.core.reteoo.QueryTerminalNode.getAllDeclarations()
Field org.drools.core.reteoo.QueryTerminalNode.allDeclarations
At QueryTerminalNode.java:[line 159]
At QueryTerminalNode.java:[line 159]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.QueryTerminalNode.getRequiredDeclarations() may expose internal representation by returning QueryTerminalNode.requiredDeclarations


In file QueryTerminalNode.java, line 163
In class org.drools.core.reteoo.QueryTerminalNode
In method org.drools.core.reteoo.QueryTerminalNode.getRequiredDeclarations()
Field org.drools.core.reteoo.QueryTerminalNode.requiredDeclarations
At QueryTerminalNode.java:[line 163]
At QueryTerminalNode.java:[line 163]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.RightInputAdapterNode.getPathEndNodes() may expose internal representation by returning RightInputAdapterNode.pathEndNodes


In file RightInputAdapterNode.java, line 119
In class org.drools.core.reteoo.RightInputAdapterNode
In method org.drools.core.reteoo.RightInputAdapterNode.getPathEndNodes()
Field org.drools.core.reteoo.RightInputAdapterNode.pathEndNodes
At RightInputAdapterNode.java:[line 119]
At RightInputAdapterNode.java:[line 119]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.RightInputAdapterNode.getPathNodes() may expose internal representation by returning RightInputAdapterNode.pathNodes


In file RightInputAdapterNode.java, line 401
In class org.drools.core.reteoo.RightInputAdapterNode
In method org.drools.core.reteoo.RightInputAdapterNode.getPathNodes()
Field org.drools.core.reteoo.RightInputAdapterNode.pathNodes
At RightInputAdapterNode.java:[line 401]
At RightInputAdapterNode.java:[line 401]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.RuleTerminalNode.getAllDeclarations() may expose internal representation by returning RuleTerminalNode.allDeclarations


In file RuleTerminalNode.java, line 232
In class org.drools.core.reteoo.RuleTerminalNode
In method org.drools.core.reteoo.RuleTerminalNode.getAllDeclarations()
Field org.drools.core.reteoo.RuleTerminalNode.allDeclarations
At RuleTerminalNode.java:[line 232]
At RuleTerminalNode.java:[line 232]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.RuleTerminalNode.getEnabledDeclarations() may expose internal representation by returning RuleTerminalNode.enabledDeclarations


In file RuleTerminalNode.java, line 266
In class org.drools.core.reteoo.RuleTerminalNode
In method org.drools.core.reteoo.RuleTerminalNode.getEnabledDeclarations()
Field org.drools.core.reteoo.RuleTerminalNode.enabledDeclarations
At RuleTerminalNode.java:[line 266]
At RuleTerminalNode.java:[line 266]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.RuleTerminalNode.getRequiredDeclarations() may expose internal representation by returning RuleTerminalNode.requiredDeclarations


In file RuleTerminalNode.java, line 236
In class org.drools.core.reteoo.RuleTerminalNode
In method org.drools.core.reteoo.RuleTerminalNode.getRequiredDeclarations()
Field org.drools.core.reteoo.RuleTerminalNode.requiredDeclarations
At RuleTerminalNode.java:[line 236]
At RuleTerminalNode.java:[line 236]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.RuleTerminalNode.getSalienceDeclarations() may expose internal representation by returning RuleTerminalNode.salienceDeclarations


In file RuleTerminalNode.java, line 258
In class org.drools.core.reteoo.RuleTerminalNode
In method org.drools.core.reteoo.RuleTerminalNode.getSalienceDeclarations()
Field org.drools.core.reteoo.RuleTerminalNode.salienceDeclarations
At RuleTerminalNode.java:[line 258]
At RuleTerminalNode.java:[line 258]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.RuleTerminalNode.getTimerDeclarations() may expose internal representation by returning RuleTerminalNode.timerDeclarations


In file RuleTerminalNode.java, line 254
In class org.drools.core.reteoo.RuleTerminalNode
In method org.drools.core.reteoo.RuleTerminalNode.getTimerDeclarations()
Field org.drools.core.reteoo.RuleTerminalNode.timerDeclarations
At RuleTerminalNode.java:[line 254]
At RuleTerminalNode.java:[line 254]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.SingleLeftTupleSinkAdapter.getSinks() may expose internal representation by returning SingleLeftTupleSinkAdapter.sinkArray


In file SingleLeftTupleSinkAdapter.java, line 146
In class org.drools.core.reteoo.SingleLeftTupleSinkAdapter
In method org.drools.core.reteoo.SingleLeftTupleSinkAdapter.getSinks()
Field org.drools.core.reteoo.SingleLeftTupleSinkAdapter.sinkArray
At SingleLeftTupleSinkAdapter.java:[line 146]
At SingleLeftTupleSinkAdapter.java:[line 146]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.SingleObjectSinkAdapter.getSinks() may expose internal representation by returning SingleObjectSinkAdapter.sinks


In file SingleObjectSinkAdapter.java, line 143
In class org.drools.core.reteoo.SingleObjectSinkAdapter
In method org.drools.core.reteoo.SingleObjectSinkAdapter.getSinks()
Field org.drools.core.reteoo.SingleObjectSinkAdapter.sinks
At SingleObjectSinkAdapter.java:[line 143]
At SingleObjectSinkAdapter.java:[line 143]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.TimerNode.getCalendarNames() may expose internal representation by returning TimerNode.calendarNames


In file TimerNode.java, line 110
In class org.drools.core.reteoo.TimerNode
In method org.drools.core.reteoo.TimerNode.getCalendarNames()
Field org.drools.core.reteoo.TimerNode.calendarNames
At TimerNode.java:[line 110]
At TimerNode.java:[line 110]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.reteoo.TimerNode.getDeclarations() may expose internal representation by returning TimerNode.declarations


In file TimerNode.java, line 114
In class org.drools.core.reteoo.TimerNode
In method org.drools.core.reteoo.TimerNode.getDeclarations()
Field org.drools.core.reteoo.TimerNode.declarations
At TimerNode.java:[line 114]
At TimerNode.java:[line 114]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.AbductiveQuery.getAbducibleArgs() may expose internal representation by returning AbductiveQuery.abducibleArgs


In file AbductiveQuery.java, line 161
In class org.drools.core.rule.AbductiveQuery
In method org.drools.core.rule.AbductiveQuery.getAbducibleArgs()
Field org.drools.core.rule.AbductiveQuery.abducibleArgs
At AbductiveQuery.java:[line 161]
At AbductiveQuery.java:[line 161]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.AbstractCompositeConstraint.getAlphaConstraints() may expose internal representation by returning AbstractCompositeConstraint.alphaConstraints


In file AbstractCompositeConstraint.java, line 60
In class org.drools.core.rule.AbstractCompositeConstraint
In method org.drools.core.rule.AbstractCompositeConstraint.getAlphaConstraints()
Field org.drools.core.rule.AbstractCompositeConstraint.alphaConstraints
At AbstractCompositeConstraint.java:[line 60]
At AbstractCompositeConstraint.java:[line 60]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.AbstractCompositeConstraint.getBetaConstraints() may expose internal representation by returning AbstractCompositeConstraint.betaConstraints


In file AbstractCompositeConstraint.java, line 64
In class org.drools.core.rule.AbstractCompositeConstraint
In method org.drools.core.rule.AbstractCompositeConstraint.getBetaConstraints()
Field org.drools.core.rule.AbstractCompositeConstraint.betaConstraints
At AbstractCompositeConstraint.java:[line 64]
At AbstractCompositeConstraint.java:[line 64]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.AbstractCompositeConstraint.getRequiredDeclarations() may expose internal representation by returning AbstractCompositeConstraint.requiredDeclarations


In file AbstractCompositeConstraint.java, line 168
In class org.drools.core.rule.AbstractCompositeConstraint
In method org.drools.core.rule.AbstractCompositeConstraint.getRequiredDeclarations()
Field org.drools.core.rule.AbstractCompositeConstraint.requiredDeclarations
At AbstractCompositeConstraint.java:[line 168]
At AbstractCompositeConstraint.java:[line 168]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.Accumulate.getRequiredDeclarations() may expose internal representation by returning Accumulate.requiredDeclarations


In file Accumulate.java, line 182
In class org.drools.core.rule.Accumulate
In method org.drools.core.rule.Accumulate.getRequiredDeclarations()
Field org.drools.core.rule.Accumulate.requiredDeclarations
At Accumulate.java:[line 182]
At Accumulate.java:[line 182]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.BehaviorManager.getBehaviors() may expose internal representation by returning BehaviorManager.behaviors


In file BehaviorManager.java, line 110
In class org.drools.core.rule.BehaviorManager
In method org.drools.core.rule.BehaviorManager.getBehaviors()
Field org.drools.core.rule.BehaviorManager.behaviors
At BehaviorManager.java:[line 110]
At BehaviorManager.java:[line 110]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.builder.dialect.asm.ClassGenerator.generateBytecode() may expose internal representation by returning ClassGenerator.bytecode


In file ClassGenerator.java, line 106
In class org.drools.core.rule.builder.dialect.asm.ClassGenerator
In method org.drools.core.rule.builder.dialect.asm.ClassGenerator.generateBytecode()
Field org.drools.core.rule.builder.dialect.asm.ClassGenerator.bytecode
At ClassGenerator.java:[line 106]
At ClassGenerator.java:[line 106]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.constraint.EvaluatorConstraint.getRequiredDeclarations() may expose internal representation by returning EvaluatorConstraint.declarations


In file EvaluatorConstraint.java, line 109
In class org.drools.core.rule.constraint.EvaluatorConstraint
In method org.drools.core.rule.constraint.EvaluatorConstraint.getRequiredDeclarations()
Field org.drools.core.rule.constraint.EvaluatorConstraint.declarations
At EvaluatorConstraint.java:[line 109]
At EvaluatorConstraint.java:[line 109]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.constraint.MvelConstraint.getOperators() may expose internal representation by returning MvelConstraint.operators


In file MvelConstraint.java, line 373
In class org.drools.core.rule.constraint.MvelConstraint
In method org.drools.core.rule.constraint.MvelConstraint.getOperators()
Field org.drools.core.rule.constraint.MvelConstraint.operators
At MvelConstraint.java:[line 373]
At MvelConstraint.java:[line 373]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.constraint.MvelConstraint.getRequiredDeclarations() may expose internal representation by returning MvelConstraint.declarations


In file MvelConstraint.java, line 365
In class org.drools.core.rule.constraint.MvelConstraint
In method org.drools.core.rule.constraint.MvelConstraint.getRequiredDeclarations()
Field org.drools.core.rule.constraint.MvelConstraint.declarations
At MvelConstraint.java:[line 365]
At MvelConstraint.java:[line 365]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.constraint.MvelConstraint$MvelContextEntry.getDeclarations() may expose internal representation by returning MvelConstraint$MvelContextEntry.declarations


In file MvelConstraint.java, line 748
In class org.drools.core.rule.constraint.MvelConstraint$MvelContextEntry
In method org.drools.core.rule.constraint.MvelConstraint$MvelContextEntry.getDeclarations()
Field org.drools.core.rule.constraint.MvelConstraint$MvelContextEntry.declarations
At MvelConstraint.java:[line 748]
At MvelConstraint.java:[line 748]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.EvalCondition.getRequiredDeclarations() may expose internal representation by returning EvalCondition.requiredDeclarations


In file EvalCondition.java, line 107
In class org.drools.core.rule.EvalCondition
In method org.drools.core.rule.EvalCondition.getRequiredDeclarations()
Field org.drools.core.rule.EvalCondition.requiredDeclarations
At EvalCondition.java:[line 107]
At EvalCondition.java:[line 107]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.MultiAccumulate.getAccumulators() may expose internal representation by returning MultiAccumulate.accumulators


In file MultiAccumulate.java, line 71
In class org.drools.core.rule.MultiAccumulate
In method org.drools.core.rule.MultiAccumulate.getAccumulators()
Field org.drools.core.rule.MultiAccumulate.accumulators
At MultiAccumulate.java:[line 71]
At MultiAccumulate.java:[line 71]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.PredicateConstraint.getGlobals() may expose internal representation by returning PredicateConstraint.requiredGlobals


In file PredicateConstraint.java, line 182
In class org.drools.core.rule.PredicateConstraint
In method org.drools.core.rule.PredicateConstraint.getGlobals()
Field org.drools.core.rule.PredicateConstraint.requiredGlobals
At PredicateConstraint.java:[line 182]
At PredicateConstraint.java:[line 182]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.PredicateConstraint.getLocalDeclarations() may expose internal representation by returning PredicateConstraint.localDeclarations


In file PredicateConstraint.java, line 178
In class org.drools.core.rule.PredicateConstraint
In method org.drools.core.rule.PredicateConstraint.getLocalDeclarations()
Field org.drools.core.rule.PredicateConstraint.localDeclarations
At PredicateConstraint.java:[line 178]
At PredicateConstraint.java:[line 178]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.PredicateConstraint.getOperators() may expose internal representation by returning PredicateConstraint.requiredOperators


In file PredicateConstraint.java, line 186
In class org.drools.core.rule.PredicateConstraint
In method org.drools.core.rule.PredicateConstraint.getOperators()
Field org.drools.core.rule.PredicateConstraint.requiredOperators
At PredicateConstraint.java:[line 186]
At PredicateConstraint.java:[line 186]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.PredicateConstraint.getPreviousDeclarations() may expose internal representation by returning PredicateConstraint.previousDeclarations


In file PredicateConstraint.java, line 174
In class org.drools.core.rule.PredicateConstraint
In method org.drools.core.rule.PredicateConstraint.getPreviousDeclarations()
Field org.drools.core.rule.PredicateConstraint.previousDeclarations
At PredicateConstraint.java:[line 174]
At PredicateConstraint.java:[line 174]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.PredicateConstraint.getRequiredDeclarations() may expose internal representation by returning PredicateConstraint.requiredDeclarations


In file PredicateConstraint.java, line 170
In class org.drools.core.rule.PredicateConstraint
In method org.drools.core.rule.PredicateConstraint.getRequiredDeclarations()
Field org.drools.core.rule.PredicateConstraint.requiredDeclarations
At PredicateConstraint.java:[line 170]
At PredicateConstraint.java:[line 170]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.QueryElement.getArgTemplate() may expose internal representation by returning QueryElement.argTemplate


In file QueryElement.java, line 101
In class org.drools.core.rule.QueryElement
In method org.drools.core.rule.QueryElement.getArgTemplate()
Field org.drools.core.rule.QueryElement.argTemplate
At QueryElement.java:[line 101]
At QueryElement.java:[line 101]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.QueryElement.getDeclIndexes() may expose internal representation by returning QueryElement.declIndexes


In file QueryElement.java, line 105
In class org.drools.core.rule.QueryElement
In method org.drools.core.rule.QueryElement.getDeclIndexes()
Field org.drools.core.rule.QueryElement.declIndexes
At QueryElement.java:[line 105]
At QueryElement.java:[line 105]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.QueryElement.getRequiredDeclarations() may expose internal representation by returning QueryElement.requiredDeclarations


In file QueryElement.java, line 137
In class org.drools.core.rule.QueryElement
In method org.drools.core.rule.QueryElement.getRequiredDeclarations()
Field org.drools.core.rule.QueryElement.requiredDeclarations
At QueryElement.java:[line 137]
At QueryElement.java:[line 137]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.QueryElement.getVariableIndexes() may expose internal representation by returning QueryElement.variableIndexes


In file QueryElement.java, line 113
In class org.drools.core.rule.QueryElement
In method org.drools.core.rule.QueryElement.getVariableIndexes()
Field org.drools.core.rule.QueryElement.variableIndexes
At QueryElement.java:[line 113]
At QueryElement.java:[line 113]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.QueryImpl.getParameters() may expose internal representation by returning QueryImpl.parameters


In file QueryImpl.java, line 64
In class org.drools.core.rule.QueryImpl
In method org.drools.core.rule.QueryImpl.getParameters()
Field org.drools.core.rule.QueryImpl.parameters
At QueryImpl.java:[line 64]
At QueryImpl.java:[line 64]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.ReturnValueRestriction.getLocalDeclarations() may expose internal representation by returning ReturnValueRestriction.localDeclarations


In file ReturnValueRestriction.java, line 172
In class org.drools.core.rule.ReturnValueRestriction
In method org.drools.core.rule.ReturnValueRestriction.getLocalDeclarations()
Field org.drools.core.rule.ReturnValueRestriction.localDeclarations
At ReturnValueRestriction.java:[line 172]
At ReturnValueRestriction.java:[line 172]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.ReturnValueRestriction.getPreviousDeclarations() may expose internal representation by returning ReturnValueRestriction.previousDeclarations


In file ReturnValueRestriction.java, line 168
In class org.drools.core.rule.ReturnValueRestriction
In method org.drools.core.rule.ReturnValueRestriction.getPreviousDeclarations()
Field org.drools.core.rule.ReturnValueRestriction.previousDeclarations
At ReturnValueRestriction.java:[line 168]
At ReturnValueRestriction.java:[line 168]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.ReturnValueRestriction.getRequiredDeclarations() may expose internal representation by returning ReturnValueRestriction.requiredDeclarations


In file ReturnValueRestriction.java, line 164
In class org.drools.core.rule.ReturnValueRestriction
In method org.drools.core.rule.ReturnValueRestriction.getRequiredDeclarations()
Field org.drools.core.rule.ReturnValueRestriction.requiredDeclarations
At ReturnValueRestriction.java:[line 164]
At ReturnValueRestriction.java:[line 164]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.ReturnValueRestriction.getRequiredGlobals() may expose internal representation by returning ReturnValueRestriction.requiredGlobals


In file ReturnValueRestriction.java, line 176
In class org.drools.core.rule.ReturnValueRestriction
In method org.drools.core.rule.ReturnValueRestriction.getRequiredGlobals()
Field org.drools.core.rule.ReturnValueRestriction.requiredGlobals
At ReturnValueRestriction.java:[line 176]
At ReturnValueRestriction.java:[line 176]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry.getLocalDeclarations() may expose internal representation by returning ReturnValueRestriction$ReturnValueContextEntry.localDeclarations


In file ReturnValueRestriction.java, line 491
In class org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry
In method org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry.getLocalDeclarations()
Field org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry.localDeclarations
At ReturnValueRestriction.java:[line 491]
At ReturnValueRestriction.java:[line 491]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry.getPreviousDeclarations() may expose internal representation by returning ReturnValueRestriction$ReturnValueContextEntry.previousDeclarations


In file ReturnValueRestriction.java, line 487
In class org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry
In method org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry.getPreviousDeclarations()
Field org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry.previousDeclarations
At ReturnValueRestriction.java:[line 487]
At ReturnValueRestriction.java:[line 487]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.CompositeMaxDurationTrigger.getMaxDurationTimestamp() may expose internal representation by returning CompositeMaxDurationTrigger.maxDurationTimestamp


In file CompositeMaxDurationTrigger.java, line 87
In class org.drools.core.time.impl.CompositeMaxDurationTrigger
In method org.drools.core.time.impl.CompositeMaxDurationTrigger.getMaxDurationTimestamp()
Field org.drools.core.time.impl.CompositeMaxDurationTrigger.maxDurationTimestamp
At CompositeMaxDurationTrigger.java:[line 87]
At CompositeMaxDurationTrigger.java:[line 87]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.CompositeMaxDurationTrigger.getTimerCurrentDate() may expose internal representation by returning CompositeMaxDurationTrigger.timerCurrentDate


In file CompositeMaxDurationTrigger.java, line 71
In class org.drools.core.time.impl.CompositeMaxDurationTrigger
In method org.drools.core.time.impl.CompositeMaxDurationTrigger.getTimerCurrentDate()
Field org.drools.core.time.impl.CompositeMaxDurationTrigger.timerCurrentDate
At CompositeMaxDurationTrigger.java:[line 71]
At CompositeMaxDurationTrigger.java:[line 71]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.CompositeMaxDurationTrigger.hasNextFireTime() may expose internal representation by returning CompositeMaxDurationTrigger.maxDurationTimestamp


In file CompositeMaxDurationTrigger.java, line 51
In class org.drools.core.time.impl.CompositeMaxDurationTrigger
In method org.drools.core.time.impl.CompositeMaxDurationTrigger.hasNextFireTime()
Field org.drools.core.time.impl.CompositeMaxDurationTrigger.maxDurationTimestamp
At CompositeMaxDurationTrigger.java:[line 51]
At CompositeMaxDurationTrigger.java:[line 51]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.CronTrigger.getCalendarNames() may expose internal representation by returning CronTrigger.calendarNames


In file CronTrigger.java, line 264
In class org.drools.core.time.impl.CronTrigger
In method org.drools.core.time.impl.CronTrigger.getCalendarNames()
Field org.drools.core.time.impl.CronTrigger.calendarNames
At CronTrigger.java:[line 264]
At CronTrigger.java:[line 264]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.CronTrigger.getEndTime() may expose internal representation by returning CronTrigger.endTime


In file CronTrigger.java, line 128
In class org.drools.core.time.impl.CronTrigger
In method org.drools.core.time.impl.CronTrigger.getEndTime()
Field org.drools.core.time.impl.CronTrigger.endTime
At CronTrigger.java:[line 128]
At CronTrigger.java:[line 128]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.CronTrigger.getNextFireTime() may expose internal representation by returning CronTrigger.nextFireTime


In file CronTrigger.java, line 155
In class org.drools.core.time.impl.CronTrigger
In method org.drools.core.time.impl.CronTrigger.getNextFireTime()
Field org.drools.core.time.impl.CronTrigger.nextFireTime
At CronTrigger.java:[line 155]
At CronTrigger.java:[line 155]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.CronTrigger.getPreviousFireTime() may expose internal representation by returning CronTrigger.previousFireTime


In file CronTrigger.java, line 165
In class org.drools.core.time.impl.CronTrigger
In method org.drools.core.time.impl.CronTrigger.getPreviousFireTime()
Field org.drools.core.time.impl.CronTrigger.previousFireTime
At CronTrigger.java:[line 165]
At CronTrigger.java:[line 165]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.CronTrigger.getStartTime() may expose internal representation by returning CronTrigger.startTime


In file CronTrigger.java, line 96
In class org.drools.core.time.impl.CronTrigger
In method org.drools.core.time.impl.CronTrigger.getStartTime()
Field org.drools.core.time.impl.CronTrigger.startTime
At CronTrigger.java:[line 96]
At CronTrigger.java:[line 96]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.CronTrigger.hasNextFireTime() may expose internal representation by returning CronTrigger.nextFireTime


In file CronTrigger.java, line 289
In class org.drools.core.time.impl.CronTrigger
In method org.drools.core.time.impl.CronTrigger.hasNextFireTime()
Field org.drools.core.time.impl.CronTrigger.nextFireTime
At CronTrigger.java:[line 289]
At CronTrigger.java:[line 289]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.IntervalTrigger.getCalendarNames() may expose internal representation by returning IntervalTrigger.calendarNames


In file IntervalTrigger.java, line 113
In class org.drools.core.time.impl.IntervalTrigger
In method org.drools.core.time.impl.IntervalTrigger.getCalendarNames()
Field org.drools.core.time.impl.IntervalTrigger.calendarNames
At IntervalTrigger.java:[line 113]
At IntervalTrigger.java:[line 113]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.IntervalTrigger.getCreatedTime() may expose internal representation by returning IntervalTrigger.createdTime


In file IntervalTrigger.java, line 170
In class org.drools.core.time.impl.IntervalTrigger
In method org.drools.core.time.impl.IntervalTrigger.getCreatedTime()
Field org.drools.core.time.impl.IntervalTrigger.createdTime
At IntervalTrigger.java:[line 170]
At IntervalTrigger.java:[line 170]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.IntervalTrigger.getEndTime() may expose internal representation by returning IntervalTrigger.endTime


In file IntervalTrigger.java, line 153
In class org.drools.core.time.impl.IntervalTrigger
In method org.drools.core.time.impl.IntervalTrigger.getEndTime()
Field org.drools.core.time.impl.IntervalTrigger.endTime
At IntervalTrigger.java:[line 153]
At IntervalTrigger.java:[line 153]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.IntervalTrigger.getLastFireTime() may expose internal representation by returning IntervalTrigger.lastFireTime


In file IntervalTrigger.java, line 166
In class org.drools.core.time.impl.IntervalTrigger
In method org.drools.core.time.impl.IntervalTrigger.getLastFireTime()
Field org.drools.core.time.impl.IntervalTrigger.lastFireTime
At IntervalTrigger.java:[line 166]
At IntervalTrigger.java:[line 166]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.IntervalTrigger.getNextFireTime() may expose internal representation by returning IntervalTrigger.nextFireTime


In file IntervalTrigger.java, line 105
In class org.drools.core.time.impl.IntervalTrigger
In method org.drools.core.time.impl.IntervalTrigger.getNextFireTime()
Field org.drools.core.time.impl.IntervalTrigger.nextFireTime
At IntervalTrigger.java:[line 105]
At IntervalTrigger.java:[line 105]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.IntervalTrigger.getStartTime() may expose internal representation by returning IntervalTrigger.startTime


In file IntervalTrigger.java, line 121
In class org.drools.core.time.impl.IntervalTrigger
In method org.drools.core.time.impl.IntervalTrigger.getStartTime()
Field org.drools.core.time.impl.IntervalTrigger.startTime
At IntervalTrigger.java:[line 121]
At IntervalTrigger.java:[line 121]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.IntervalTrigger.hasNextFireTime() may expose internal representation by returning IntervalTrigger.nextFireTime


In file IntervalTrigger.java, line 200
In class org.drools.core.time.impl.IntervalTrigger
In method org.drools.core.time.impl.IntervalTrigger.hasNextFireTime()
Field org.drools.core.time.impl.IntervalTrigger.nextFireTime
At IntervalTrigger.java:[line 200]
At IntervalTrigger.java:[line 200]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.impl.PointInTimeTrigger.hasNextFireTime() may expose internal representation by returning PointInTimeTrigger.timestamp


In file PointInTimeTrigger.java, line 58
In class org.drools.core.time.impl.PointInTimeTrigger
In method org.drools.core.time.impl.PointInTimeTrigger.hasNextFireTime()
Field org.drools.core.time.impl.PointInTimeTrigger.timestamp
At PointInTimeTrigger.java:[line 58]
At PointInTimeTrigger.java:[line 58]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.time.TemporalDependencyMatrix.getMatrix() may expose internal representation by returning TemporalDependencyMatrix.matrix


In file TemporalDependencyMatrix.java, line 40
In class org.drools.core.time.TemporalDependencyMatrix
In method org.drools.core.time.TemporalDependencyMatrix.getMatrix()
Field org.drools.core.time.TemporalDependencyMatrix.matrix
At TemporalDependencyMatrix.java:[line 40]
At TemporalDependencyMatrix.java:[line 40]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.util.AbstractHashTable.getTable() may expose internal representation by returning AbstractHashTable.table


In file AbstractHashTable.java, line 173
In class org.drools.core.util.AbstractHashTable
In method org.drools.core.util.AbstractHashTable.getTable()
Field org.drools.core.util.AbstractHashTable.table
At AbstractHashTable.java:[line 173]
At AbstractHashTable.java:[line 173]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.util.bitmask.OpenBitSet.getBits() may expose internal representation by returning OpenBitSet.bits


In file OpenBitSet.java, line 135
In class org.drools.core.util.bitmask.OpenBitSet
In method org.drools.core.util.bitmask.OpenBitSet.getBits()
Field org.drools.core.util.bitmask.OpenBitSet.bits
At OpenBitSet.java:[line 135]
At OpenBitSet.java:[line 135]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.util.KeyStoreHelper.getPubKeyStorePwd() may expose internal representation by returning KeyStoreHelper.pubKeyStorePwd


In file KeyStoreHelper.java, line 215
In class org.drools.core.util.KeyStoreHelper
In method org.drools.core.util.KeyStoreHelper.getPubKeyStorePwd()
Field org.drools.core.util.KeyStoreHelper.pubKeyStorePwd
At KeyStoreHelper.java:[line 215]
At KeyStoreHelper.java:[line 215]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.util.KeyStoreHelper.getPvtKeyPassword() may expose internal representation by returning KeyStoreHelper.pvtKeyPassword


In file KeyStoreHelper.java, line 207
In class org.drools.core.util.KeyStoreHelper
In method org.drools.core.util.KeyStoreHelper.getPvtKeyPassword()
Field org.drools.core.util.KeyStoreHelper.pvtKeyPassword
At KeyStoreHelper.java:[line 207]
At KeyStoreHelper.java:[line 207]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.util.KeyStoreHelper.getPvtKeyStorePwd() may expose internal representation by returning KeyStoreHelper.pvtKeyStorePwd


In file KeyStoreHelper.java, line 199
In class org.drools.core.util.KeyStoreHelper
In method org.drools.core.util.KeyStoreHelper.getPvtKeyStorePwd()
Field org.drools.core.util.KeyStoreHelper.pvtKeyStorePwd
At KeyStoreHelper.java:[line 199]
At KeyStoreHelper.java:[line 199]

May expose internal representation by returning reference to mutable object Medium

org.drools.core.xml.jaxb.util.JaxbListWrapper.getElements() may expose internal representation by returning JaxbListWrapper.elements


In file JaxbListWrapper.java, line 64
In class org.drools.core.xml.jaxb.util.JaxbListWrapper
In method org.drools.core.xml.jaxb.util.JaxbListWrapper.getElements()
Field org.drools.core.xml.jaxb.util.JaxbListWrapper.elements
At JaxbListWrapper.java:[line 64]
At JaxbListWrapper.java:[line 64]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.base.ArrayElements(Object[]) may expose internal representation by storing an externally mutable object into ArrayElements.elements


In file ArrayElements.java, line 45
In class org.drools.core.base.ArrayElements
In method new org.drools.core.base.ArrayElements(Object[])
Field org.drools.core.base.ArrayElements.elements
Local variable named elements
At ArrayElements.java:[line 45]
At ArrayElements.java:[line 45]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.base.ArrayElements.setElements(Object[]) may expose internal representation by storing an externally mutable object into ArrayElements.elements


In file ArrayElements.java, line 56
In class org.drools.core.base.ArrayElements
In method org.drools.core.base.ArrayElements.setElements(Object[])
Field org.drools.core.base.ArrayElements.elements
Local variable named elements
At ArrayElements.java:[line 56]
At ArrayElements.java:[line 56]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean) may expose internal representation by storing an externally mutable object into MVELCompilationUnit.globalIdentifiers


In file MVELCompilationUnit.java, line 148
In class org.drools.core.base.mvel.MVELCompilationUnit
In method new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean)
Field org.drools.core.base.mvel.MVELCompilationUnit.globalIdentifiers
Local variable named globalIdentifiers
At MVELCompilationUnit.java:[line 148]
At MVELCompilationUnit.java:[line 148]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean) may expose internal representation by storing an externally mutable object into MVELCompilationUnit.inputIdentifiers


In file MVELCompilationUnit.java, line 155
In class org.drools.core.base.mvel.MVELCompilationUnit
In method new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean)
Field org.drools.core.base.mvel.MVELCompilationUnit.inputIdentifiers
Local variable named inputIdentifiers
At MVELCompilationUnit.java:[line 155]
At MVELCompilationUnit.java:[line 155]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean) may expose internal representation by storing an externally mutable object into MVELCompilationUnit.inputTypes


In file MVELCompilationUnit.java, line 156
In class org.drools.core.base.mvel.MVELCompilationUnit
In method new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean)
Field org.drools.core.base.mvel.MVELCompilationUnit.inputTypes
Local variable named inputTypes
At MVELCompilationUnit.java:[line 156]
At MVELCompilationUnit.java:[line 156]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean) may expose internal representation by storing an externally mutable object into MVELCompilationUnit.localDeclarations


In file MVELCompilationUnit.java, line 152
In class org.drools.core.base.mvel.MVELCompilationUnit
In method new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean)
Field org.drools.core.base.mvel.MVELCompilationUnit.localDeclarations
Local variable named localDeclarations
At MVELCompilationUnit.java:[line 152]
At MVELCompilationUnit.java:[line 152]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean) may expose internal representation by storing an externally mutable object into MVELCompilationUnit.operators


In file MVELCompilationUnit.java, line 149
In class org.drools.core.base.mvel.MVELCompilationUnit
In method new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean)
Field org.drools.core.base.mvel.MVELCompilationUnit.operators
Local variable named operators
At MVELCompilationUnit.java:[line 149]
At MVELCompilationUnit.java:[line 149]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean) may expose internal representation by storing an externally mutable object into MVELCompilationUnit.otherIdentifiers


In file MVELCompilationUnit.java, line 153
In class org.drools.core.base.mvel.MVELCompilationUnit
In method new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean)
Field org.drools.core.base.mvel.MVELCompilationUnit.otherIdentifiers
Local variable named otherIdentifiers
At MVELCompilationUnit.java:[line 153]
At MVELCompilationUnit.java:[line 153]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean) may expose internal representation by storing an externally mutable object into MVELCompilationUnit.previousDeclarations


In file MVELCompilationUnit.java, line 151
In class org.drools.core.base.mvel.MVELCompilationUnit
In method new org.drools.core.base.mvel.MVELCompilationUnit(String, String, String[], EvaluatorWrapper[], Declaration[], Declaration[], String[], String[], String[], int, boolean, boolean)
Field org.drools.core.base.mvel.MVELCompilationUnit.previousDeclarations
Local variable named previousDeclarations
At MVELCompilationUnit.java:[line 151]
At MVELCompilationUnit.java:[line 151]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.base.mvel.MVELCompilationUnit.setPreviousDeclarations(Declaration[]) may expose internal representation by storing an externally mutable object into MVELCompilationUnit.previousDeclarations


In file MVELCompilationUnit.java, line 529
In class org.drools.core.base.mvel.MVELCompilationUnit
In method org.drools.core.base.mvel.MVELCompilationUnit.setPreviousDeclarations(Declaration[])
Field org.drools.core.base.mvel.MVELCompilationUnit.previousDeclarations
Local variable named previousDeclarations
At MVELCompilationUnit.java:[line 529]
At MVELCompilationUnit.java:[line 529]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.base.QueryRowWithSubruleIndex(InternalFactHandle[], int) may expose internal representation by storing an externally mutable object into QueryRowWithSubruleIndex.handles


In file QueryRowWithSubruleIndex.java, line 27
In class org.drools.core.base.QueryRowWithSubruleIndex
In method new org.drools.core.base.QueryRowWithSubruleIndex(InternalFactHandle[], int)
Field org.drools.core.base.QueryRowWithSubruleIndex.handles
Local variable named handles
At QueryRowWithSubruleIndex.java:[line 27]
At QueryRowWithSubruleIndex.java:[line 27]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.common.DefaultBetaConstraints(BetaNodeFieldConstraint[], RuleBaseConfiguration, boolean) may expose internal representation by storing an externally mutable object into DefaultBetaConstraints.constraints


In file DefaultBetaConstraints.java, line 75
In class org.drools.core.common.DefaultBetaConstraints
In method new org.drools.core.common.DefaultBetaConstraints(BetaNodeFieldConstraint[], RuleBaseConfiguration, boolean)
Field org.drools.core.common.DefaultBetaConstraints.constraints
Local variable named constraints
At DefaultBetaConstraints.java:[line 75]
At DefaultBetaConstraints.java:[line 75]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.definitions.rule.impl.RuleImpl.setCalendars(String[]) may expose internal representation by storing an externally mutable object into RuleImpl.calendars


In file RuleImpl.java, line 790
In class org.drools.core.definitions.rule.impl.RuleImpl
In method org.drools.core.definitions.rule.impl.RuleImpl.setCalendars(String[])
Field org.drools.core.definitions.rule.impl.RuleImpl.calendars
Local variable named calendars
At RuleImpl.java:[line 790]
At RuleImpl.java:[line 790]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.facttemplates.FactImpl(FactTemplate, Object[], long) may expose internal representation by storing an externally mutable object into FactImpl.values


In file FactImpl.java, line 65
In class org.drools.core.facttemplates.FactImpl
In method new org.drools.core.facttemplates.FactImpl(FactTemplate, Object[], long)
Field org.drools.core.facttemplates.FactImpl.values
Local variable named values
At FactImpl.java:[line 65]
At FactImpl.java:[line 65]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.facttemplates.FactTemplateImpl(InternalKnowledgePackage, String, FieldTemplate[]) may expose internal representation by storing an externally mutable object into FactTemplateImpl.fields


In file FactTemplateImpl.java, line 55
In class org.drools.core.facttemplates.FactTemplateImpl
In method new org.drools.core.facttemplates.FactTemplateImpl(InternalKnowledgePackage, String, FieldTemplate[])
Field org.drools.core.facttemplates.FactTemplateImpl.fields
Local variable named fields
At FactTemplateImpl.java:[line 55]
At FactTemplateImpl.java:[line 55]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.io.impl.ByteArrayResource(byte[]) may expose internal representation by storing an externally mutable object into ByteArrayResource.bytes


In file ByteArrayResource.java, line 52
In class org.drools.core.io.impl.ByteArrayResource
In method new org.drools.core.io.impl.ByteArrayResource(byte[])
Field org.drools.core.io.impl.ByteArrayResource.bytes
Local variable named bytes
At ByteArrayResource.java:[line 52]
At ByteArrayResource.java:[line 52]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.marshalling.impl.ObjectMarshallingStrategyStoreImpl(ObjectMarshallingStrategy[]) may expose internal representation by storing an externally mutable object into ObjectMarshallingStrategyStoreImpl.strategiesList


In file ObjectMarshallingStrategyStoreImpl.java, line 27
In class org.drools.core.marshalling.impl.ObjectMarshallingStrategyStoreImpl
In method new org.drools.core.marshalling.impl.ObjectMarshallingStrategyStoreImpl(ObjectMarshallingStrategy[])
Field org.drools.core.marshalling.impl.ObjectMarshallingStrategyStoreImpl.strategiesList
Local variable named strategiesList
At ObjectMarshallingStrategyStoreImpl.java:[line 27]
At ObjectMarshallingStrategyStoreImpl.java:[line 27]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.marshalling.impl.ProtobufInputMarshaller$ActivationKey(String, String, int[]) may expose internal representation by storing an externally mutable object into ProtobufInputMarshaller$ActivationKey.tuple


In file ProtobufInputMarshaller.java, line 860
In class org.drools.core.marshalling.impl.ProtobufInputMarshaller$ActivationKey
In method new org.drools.core.marshalling.impl.ProtobufInputMarshaller$ActivationKey(String, String, int[])
Field org.drools.core.marshalling.impl.ProtobufInputMarshaller$ActivationKey.tuple
Local variable named tuple
At ProtobufInputMarshaller.java:[line 860]
At ProtobufInputMarshaller.java:[line 860]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.marshalling.impl.ProtobufInputMarshaller$TupleKey(int[]) may expose internal representation by storing an externally mutable object into ProtobufInputMarshaller$TupleKey.tuple


In file ProtobufInputMarshaller.java, line 895
In class org.drools.core.marshalling.impl.ProtobufInputMarshaller$TupleKey
In method new org.drools.core.marshalling.impl.ProtobufInputMarshaller$TupleKey(int[])
Field org.drools.core.marshalling.impl.ProtobufInputMarshaller$TupleKey.tuple
Local variable named tuple
At ProtobufInputMarshaller.java:[line 895]
At ProtobufInputMarshaller.java:[line 895]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.metadata.ClassLiteral(MetaProperty[]) may expose internal representation by storing an externally mutable object into ClassLiteral.properties


In file ClassLiteral.java, line 30
In class org.drools.core.metadata.ClassLiteral
In method new org.drools.core.metadata.ClassLiteral(MetaProperty[])
Field org.drools.core.metadata.ClassLiteral.properties
Local variable named propertyLiterals
At ClassLiteral.java:[line 30]
At ClassLiteral.java:[line 30]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.phreak.StackEntry(NetworkNode, long, LeftTupleSinkNode, PathMemory, Memory, SegmentMemory[], int, TupleSets, boolean, boolean) may expose internal representation by storing an externally mutable object into StackEntry.smems


In file StackEntry.java, line 63
In class org.drools.core.phreak.StackEntry
In method new org.drools.core.phreak.StackEntry(NetworkNode, long, LeftTupleSinkNode, PathMemory, Memory, SegmentMemory[], int, TupleSets, boolean, boolean)
Field org.drools.core.phreak.StackEntry.smems
Local variable named smems
At StackEntry.java:[line 63]
At StackEntry.java:[line 63]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.QueryResultsImpl(List, Map[], WorkingMemory, Declaration[]) may expose internal representation by storing an externally mutable object into QueryResultsImpl.declarations


In file QueryResultsImpl.java, line 60
In class org.drools.core.QueryResultsImpl
In method new org.drools.core.QueryResultsImpl(List, Map[], WorkingMemory, Declaration[])
Field org.drools.core.QueryResultsImpl.declarations
Local variable named declarations
At QueryResultsImpl.java:[line 60]
At QueryResultsImpl.java:[line 60]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.QueryResultsImpl(List, Map[], WorkingMemory, Declaration[]) may expose internal representation by storing an externally mutable object into QueryResultsImpl.parameters


In file QueryResultsImpl.java, line 61
In class org.drools.core.QueryResultsImpl
In method new org.drools.core.QueryResultsImpl(List, Map[], WorkingMemory, Declaration[])
Field org.drools.core.QueryResultsImpl.parameters
Local variable named parameters
At QueryResultsImpl.java:[line 61]
At QueryResultsImpl.java:[line 61]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.reteoo.AbstractTerminalNode.setPathEndNodes(PathEndNode[]) may expose internal representation by storing an externally mutable object into AbstractTerminalNode.pathEndNodes


In file AbstractTerminalNode.java, line 86
In class org.drools.core.reteoo.AbstractTerminalNode
In method org.drools.core.reteoo.AbstractTerminalNode.setPathEndNodes(PathEndNode[])
Field org.drools.core.reteoo.AbstractTerminalNode.pathEndNodes
Local variable named pathEndNodes
At AbstractTerminalNode.java:[line 86]
At AbstractTerminalNode.java:[line 86]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.reteoo.AccumulateNode(int, LeftTupleSource, ObjectSource, AlphaNodeFieldConstraint[], BetaConstraints, BetaConstraints, Accumulate, boolean, BuildContext) may expose internal representation by storing an externally mutable object into AccumulateNode.resultConstraints


In file AccumulateNode.java, line 80
In class org.drools.core.reteoo.AccumulateNode
In method new org.drools.core.reteoo.AccumulateNode(int, LeftTupleSource, ObjectSource, AlphaNodeFieldConstraint[], BetaConstraints, BetaConstraints, Accumulate, boolean, BuildContext)
Field org.drools.core.reteoo.AccumulateNode.resultConstraints
Local variable named resultConstraints
At AccumulateNode.java:[line 80]
At AccumulateNode.java:[line 80]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.reteoo.AccumulateNode$MultiAccumulateMemory(BetaMemory, Accumulator[]) may expose internal representation by storing an externally mutable object into AccumulateNode$MultiAccumulateMemory.accumulators


In file AccumulateNode.java, line 259
In class org.drools.core.reteoo.AccumulateNode$MultiAccumulateMemory
In method new org.drools.core.reteoo.AccumulateNode$MultiAccumulateMemory(BetaMemory, Accumulator[])
Field org.drools.core.reteoo.AccumulateNode$MultiAccumulateMemory.accumulators
Local variable named accumulators
At AccumulateNode.java:[line 259]
At AccumulateNode.java:[line 259]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.reteoo.BetaMemory(TupleMemory, TupleMemory, ContextEntry[], short) may expose internal representation by storing an externally mutable object into BetaMemory.context


In file BetaMemory.java, line 52
In class org.drools.core.reteoo.BetaMemory
In method new org.drools.core.reteoo.BetaMemory(TupleMemory, TupleMemory, ContextEntry[], short)
Field org.drools.core.reteoo.BetaMemory.context
Local variable named context
At BetaMemory.java:[line 52]
At BetaMemory.java:[line 52]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.reteoo.FromNode(int, DataProvider, LeftTupleSource, AlphaNodeFieldConstraint[], BetaConstraints, boolean, BuildContext, From) may expose internal representation by storing an externally mutable object into FromNode.alphaConstraints


In file FromNode.java, line 83
In class org.drools.core.reteoo.FromNode
In method new org.drools.core.reteoo.FromNode(int, DataProvider, LeftTupleSource, AlphaNodeFieldConstraint[], BetaConstraints, boolean, BuildContext, From)
Field org.drools.core.reteoo.FromNode.alphaConstraints
Local variable named constraints
At FromNode.java:[line 83]
At FromNode.java:[line 83]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.reteoo.PathMemory.setSegmentMemories(SegmentMemory[]) may expose internal representation by storing an externally mutable object into PathMemory.segmentMemories


In file PathMemory.java, line 191
In class org.drools.core.reteoo.PathMemory
In method org.drools.core.reteoo.PathMemory.setSegmentMemories(SegmentMemory[])
Field org.drools.core.reteoo.PathMemory.segmentMemories
Local variable named segmentMemories
At PathMemory.java:[line 191]
At PathMemory.java:[line 191]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener(LeftTuple, int[], QueryElementNode, boolean) may expose internal representation by storing an externally mutable object into QueryElementNode$UnificationNodeViewChangedEventListener.variables


In file QueryElementNode.java, line 334
In class org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener
In method new org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener(LeftTuple, int[], QueryElementNode, boolean)
Field org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener.variables
Local variable named variables
At QueryElementNode.java:[line 334]
At QueryElementNode.java:[line 334]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener.setVariables(int[]) may expose internal representation by storing an externally mutable object into QueryElementNode$UnificationNodeViewChangedEventListener.variables


In file QueryElementNode.java, line 348
In class org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener
In method org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener.setVariables(int[])
Field org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener.variables
Local variable named variables
At QueryElementNode.java:[line 348]
At QueryElementNode.java:[line 348]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.reteoo.RightInputAdapterNode.setPathEndNodes(PathEndNode[]) may expose internal representation by storing an externally mutable object into RightInputAdapterNode.pathEndNodes


In file RightInputAdapterNode.java, line 114
In class org.drools.core.reteoo.RightInputAdapterNode
In method org.drools.core.reteoo.RightInputAdapterNode.setPathEndNodes(PathEndNode[])
Field org.drools.core.reteoo.RightInputAdapterNode.pathEndNodes
Local variable named pathEndNodes
At RightInputAdapterNode.java:[line 114]
At RightInputAdapterNode.java:[line 114]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.reteoo.RuleTerminalNode.setSalienceDeclarations(Declaration[]) may expose internal representation by storing an externally mutable object into RuleTerminalNode.salienceDeclarations


In file RuleTerminalNode.java, line 262
In class org.drools.core.reteoo.RuleTerminalNode
In method org.drools.core.reteoo.RuleTerminalNode.setSalienceDeclarations(Declaration[])
Field org.drools.core.reteoo.RuleTerminalNode.salienceDeclarations
Local variable named salienceDeclarations
At RuleTerminalNode.java:[line 262]
At RuleTerminalNode.java:[line 262]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.reteoo.TimerNode(int, LeftTupleSource, Timer, String[], Declaration[][], BuildContext) may expose internal representation by storing an externally mutable object into TimerNode.calendarNames


In file TimerNode.java, line 66
In class org.drools.core.reteoo.TimerNode
In method new org.drools.core.reteoo.TimerNode(int, LeftTupleSource, Timer, String[], Declaration[][], BuildContext)
Field org.drools.core.reteoo.TimerNode.calendarNames
Local variable named calendarNames
At TimerNode.java:[line 66]
At TimerNode.java:[line 66]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.reteoo.TimerNode(int, LeftTupleSource, Timer, String[], Declaration[][], BuildContext) may expose internal representation by storing an externally mutable object into TimerNode.declarations


In file TimerNode.java, line 67
In class org.drools.core.reteoo.TimerNode
In method new org.drools.core.reteoo.TimerNode(int, LeftTupleSource, Timer, String[], Declaration[][], BuildContext)
Field org.drools.core.reteoo.TimerNode.declarations
Local variable named declarations
At TimerNode.java:[line 67]
At TimerNode.java:[line 67]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.rule.AbductiveQuery.setReturnType(ClassObjectType, String[], String[], Declaration[]) may expose internal representation by storing an externally mutable object into AbductiveQuery.params


In file AbductiveQuery.java, line 57
In class org.drools.core.rule.AbductiveQuery
In method org.drools.core.rule.AbductiveQuery.setReturnType(ClassObjectType, String[], String[], Declaration[])
Field org.drools.core.rule.AbductiveQuery.params
Local variable named params
At AbductiveQuery.java:[line 57]
At AbductiveQuery.java:[line 57]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.AbstractCompositeRestriction(Restriction[]) may expose internal representation by storing an externally mutable object into AbstractCompositeRestriction.restrictions


In file AbstractCompositeRestriction.java, line 43
In class org.drools.core.rule.AbstractCompositeRestriction
In method new org.drools.core.rule.AbstractCompositeRestriction(Restriction[])
Field org.drools.core.rule.AbstractCompositeRestriction.restrictions
Local variable named restriction
At AbstractCompositeRestriction.java:[line 43]
At AbstractCompositeRestriction.java:[line 43]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.Accumulate(RuleConditionElement, Declaration[]) may expose internal representation by storing an externally mutable object into Accumulate.requiredDeclarations


In file Accumulate.java, line 55
In class org.drools.core.rule.Accumulate
In method new org.drools.core.rule.Accumulate(RuleConditionElement, Declaration[])
Field org.drools.core.rule.Accumulate.requiredDeclarations
Local variable named requiredDeclarations
At Accumulate.java:[line 55]
At Accumulate.java:[line 55]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.BehaviorManager(Behavior[]) may expose internal representation by storing an externally mutable object into BehaviorManager.behaviors


In file BehaviorManager.java, line 51
In class org.drools.core.rule.BehaviorManager
In method new org.drools.core.rule.BehaviorManager(Behavior[])
Field org.drools.core.rule.BehaviorManager.behaviors
Local variable named behaviors
At BehaviorManager.java:[line 51]
At BehaviorManager.java:[line 51]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.constraint.ConditionAnalyzer(ExecutableStatement, Declaration[], EvaluatorWrapper[], String) may expose internal representation by storing an externally mutable object into ConditionAnalyzer.declarations


In file ConditionAnalyzer.java, line 92
In class org.drools.core.rule.constraint.ConditionAnalyzer
In method new org.drools.core.rule.constraint.ConditionAnalyzer(ExecutableStatement, Declaration[], EvaluatorWrapper[], String)
Field org.drools.core.rule.constraint.ConditionAnalyzer.declarations
Local variable named declarations
At ConditionAnalyzer.java:[line 92]
At ConditionAnalyzer.java:[line 92]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.constraint.ConditionAnalyzer(ExecutableStatement, Declaration[], EvaluatorWrapper[], String) may expose internal representation by storing an externally mutable object into ConditionAnalyzer.operators


In file ConditionAnalyzer.java, line 93
In class org.drools.core.rule.constraint.ConditionAnalyzer
In method new org.drools.core.rule.constraint.ConditionAnalyzer(ExecutableStatement, Declaration[], EvaluatorWrapper[], String)
Field org.drools.core.rule.constraint.ConditionAnalyzer.operators
Local variable named operators
At ConditionAnalyzer.java:[line 93]
At ConditionAnalyzer.java:[line 93]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.constraint.EvaluatorConstraint(Declaration[], Evaluator, InternalReadAccessor) may expose internal representation by storing an externally mutable object into EvaluatorConstraint.declarations


In file EvaluatorConstraint.java, line 55
In class org.drools.core.rule.constraint.EvaluatorConstraint
In method new org.drools.core.rule.constraint.EvaluatorConstraint(Declaration[], Evaluator, InternalReadAccessor)
Field org.drools.core.rule.constraint.EvaluatorConstraint.declarations
Local variable named declarations
At EvaluatorConstraint.java:[line 55]
At EvaluatorConstraint.java:[line 55]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.constraint.MvelConditionEvaluator(MVELCompilationUnit, ParserConfiguration, ExecutableStatement, Declaration[], EvaluatorWrapper[], String) may expose internal representation by storing an externally mutable object into MvelConditionEvaluator.declarations


In file MvelConditionEvaluator.java, line 80
In class org.drools.core.rule.constraint.MvelConditionEvaluator
In method new org.drools.core.rule.constraint.MvelConditionEvaluator(MVELCompilationUnit, ParserConfiguration, ExecutableStatement, Declaration[], EvaluatorWrapper[], String)
Field org.drools.core.rule.constraint.MvelConditionEvaluator.declarations
Local variable named declarations
At MvelConditionEvaluator.java:[line 80]
At MvelConditionEvaluator.java:[line 80]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.constraint.MvelConditionEvaluator(MVELCompilationUnit, ParserConfiguration, ExecutableStatement, Declaration[], EvaluatorWrapper[], String) may expose internal representation by storing an externally mutable object into MvelConditionEvaluator.operators


In file MvelConditionEvaluator.java, line 81
In class org.drools.core.rule.constraint.MvelConditionEvaluator
In method new org.drools.core.rule.constraint.MvelConditionEvaluator(MVELCompilationUnit, ParserConfiguration, ExecutableStatement, Declaration[], EvaluatorWrapper[], String)
Field org.drools.core.rule.constraint.MvelConditionEvaluator.operators
Local variable named operators
At MvelConditionEvaluator.java:[line 81]
At MvelConditionEvaluator.java:[line 81]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.constraint.MvelConstraint$MvelContextEntry(Declaration[]) may expose internal representation by storing an externally mutable object into MvelConstraint$MvelContextEntry.declarations


In file MvelConstraint.java, line 699
In class org.drools.core.rule.constraint.MvelConstraint$MvelContextEntry
In method new org.drools.core.rule.constraint.MvelConstraint$MvelContextEntry(Declaration[])
Field org.drools.core.rule.constraint.MvelConstraint$MvelContextEntry.declarations
Local variable named declarations
At MvelConstraint.java:[line 699]
At MvelConstraint.java:[line 699]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.EvalCondition(EvalExpression, Declaration[]) may expose internal representation by storing an externally mutable object into EvalCondition.requiredDeclarations


In file EvalCondition.java, line 70
In class org.drools.core.rule.EvalCondition
In method new org.drools.core.rule.EvalCondition(EvalExpression, Declaration[])
Field org.drools.core.rule.EvalCondition.requiredDeclarations
Local variable named requiredDeclarations
At EvalCondition.java:[line 70]
At EvalCondition.java:[line 70]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.MultiAccumulate(RuleConditionElement, Declaration[], Accumulator[]) may expose internal representation by storing an externally mutable object into MultiAccumulate.accumulators


In file MultiAccumulate.java, line 42
In class org.drools.core.rule.MultiAccumulate
In method new org.drools.core.rule.MultiAccumulate(RuleConditionElement, Declaration[], Accumulator[])
Field org.drools.core.rule.MultiAccumulate.accumulators
Local variable named accumulators
At MultiAccumulate.java:[line 42]
At MultiAccumulate.java:[line 42]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.PredicateConstraint(PredicateExpression, Declaration[], Declaration[], String[], String[]) may expose internal representation by storing an externally mutable object into PredicateConstraint.localDeclarations


In file PredicateConstraint.java, line 113
In class org.drools.core.rule.PredicateConstraint
In method new org.drools.core.rule.PredicateConstraint(PredicateExpression, Declaration[], Declaration[], String[], String[])
Field org.drools.core.rule.PredicateConstraint.localDeclarations
Local variable named localDeclarations
At PredicateConstraint.java:[line 113]
At PredicateConstraint.java:[line 113]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.PredicateConstraint(PredicateExpression, Declaration[], Declaration[], String[], String[]) may expose internal representation by storing an externally mutable object into PredicateConstraint.previousDeclarations


In file PredicateConstraint.java, line 107
In class org.drools.core.rule.PredicateConstraint
In method new org.drools.core.rule.PredicateConstraint(PredicateExpression, Declaration[], Declaration[], String[], String[])
Field org.drools.core.rule.PredicateConstraint.previousDeclarations
Local variable named previousDeclarations
At PredicateConstraint.java:[line 107]
At PredicateConstraint.java:[line 107]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.PredicateConstraint(PredicateExpression, Declaration[], Declaration[], String[], String[]) may expose internal representation by storing an externally mutable object into PredicateConstraint.requiredGlobals


In file PredicateConstraint.java, line 119
In class org.drools.core.rule.PredicateConstraint
In method new org.drools.core.rule.PredicateConstraint(PredicateExpression, Declaration[], Declaration[], String[], String[])
Field org.drools.core.rule.PredicateConstraint.requiredGlobals
Local variable named requiredGlobals
At PredicateConstraint.java:[line 119]
At PredicateConstraint.java:[line 119]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.PredicateConstraint(PredicateExpression, Declaration[], Declaration[], String[], String[]) may expose internal representation by storing an externally mutable object into PredicateConstraint.requiredOperators


In file PredicateConstraint.java, line 125
In class org.drools.core.rule.PredicateConstraint
In method new org.drools.core.rule.PredicateConstraint(PredicateExpression, Declaration[], Declaration[], String[], String[])
Field org.drools.core.rule.PredicateConstraint.requiredOperators
Local variable named requiredOperators
At PredicateConstraint.java:[line 125]
At PredicateConstraint.java:[line 125]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.QueryElement(Pattern, String, Object[], Declaration[], int[], int[], boolean, boolean) may expose internal representation by storing an externally mutable object into QueryElement.argTemplate


In file QueryElement.java, line 58
In class org.drools.core.rule.QueryElement
In method new org.drools.core.rule.QueryElement(Pattern, String, Object[], Declaration[], int[], int[], boolean, boolean)
Field org.drools.core.rule.QueryElement.argTemplate
Local variable named argTemplate
At QueryElement.java:[line 58]
At QueryElement.java:[line 58]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.QueryElement(Pattern, String, Object[], Declaration[], int[], int[], boolean, boolean) may expose internal representation by storing an externally mutable object into QueryElement.declIndexes


In file QueryElement.java, line 60
In class org.drools.core.rule.QueryElement
In method new org.drools.core.rule.QueryElement(Pattern, String, Object[], Declaration[], int[], int[], boolean, boolean)
Field org.drools.core.rule.QueryElement.declIndexes
Local variable named declIndexes
At QueryElement.java:[line 60]
At QueryElement.java:[line 60]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.QueryElement(Pattern, String, Object[], Declaration[], int[], int[], boolean, boolean) may expose internal representation by storing an externally mutable object into QueryElement.requiredDeclarations


In file QueryElement.java, line 59
In class org.drools.core.rule.QueryElement
In method new org.drools.core.rule.QueryElement(Pattern, String, Object[], Declaration[], int[], int[], boolean, boolean)
Field org.drools.core.rule.QueryElement.requiredDeclarations
Local variable named requiredDeclarations
At QueryElement.java:[line 59]
At QueryElement.java:[line 59]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.QueryElement(Pattern, String, Object[], Declaration[], int[], int[], boolean, boolean) may expose internal representation by storing an externally mutable object into QueryElement.variableIndexes


In file QueryElement.java, line 61
In class org.drools.core.rule.QueryElement
In method new org.drools.core.rule.QueryElement(Pattern, String, Object[], Declaration[], int[], int[], boolean, boolean)
Field org.drools.core.rule.QueryElement.variableIndexes
Local variable named variableIndexes
At QueryElement.java:[line 61]
At QueryElement.java:[line 61]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.rule.QueryElement.setVariableIndexes(int[]) may expose internal representation by storing an externally mutable object into QueryElement.variableIndexes


In file QueryElement.java, line 109
In class org.drools.core.rule.QueryElement
In method org.drools.core.rule.QueryElement.setVariableIndexes(int[])
Field org.drools.core.rule.QueryElement.variableIndexes
Local variable named varIndexes
At QueryElement.java:[line 109]
At QueryElement.java:[line 109]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.rule.QueryImpl.setParameters(Declaration[]) may expose internal representation by storing an externally mutable object into QueryImpl.parameters


In file QueryImpl.java, line 60
In class org.drools.core.rule.QueryImpl
In method org.drools.core.rule.QueryImpl.setParameters(Declaration[])
Field org.drools.core.rule.QueryImpl.parameters
Local variable named parameters
At QueryImpl.java:[line 60]
At QueryImpl.java:[line 60]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.ReturnValueRestriction(InternalReadAccessor, ReturnValueExpression, Declaration[], Declaration[], String[], Evaluator) may expose internal representation by storing an externally mutable object into ReturnValueRestriction.localDeclarations


In file ReturnValueRestriction.java, line 105
In class org.drools.core.rule.ReturnValueRestriction
In method new org.drools.core.rule.ReturnValueRestriction(InternalReadAccessor, ReturnValueExpression, Declaration[], Declaration[], String[], Evaluator)
Field org.drools.core.rule.ReturnValueRestriction.localDeclarations
Local variable named localDeclarations
At ReturnValueRestriction.java:[line 105]
At ReturnValueRestriction.java:[line 105]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.ReturnValueRestriction(InternalReadAccessor, ReturnValueExpression, Declaration[], Declaration[], String[], Evaluator) may expose internal representation by storing an externally mutable object into ReturnValueRestriction.previousDeclarations


In file ReturnValueRestriction.java, line 99
In class org.drools.core.rule.ReturnValueRestriction
In method new org.drools.core.rule.ReturnValueRestriction(InternalReadAccessor, ReturnValueExpression, Declaration[], Declaration[], String[], Evaluator)
Field org.drools.core.rule.ReturnValueRestriction.previousDeclarations
Local variable named previousDeclarations
At ReturnValueRestriction.java:[line 99]
At ReturnValueRestriction.java:[line 99]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.ReturnValueRestriction(InternalReadAccessor, ReturnValueExpression, Declaration[], Declaration[], String[], Evaluator) may expose internal representation by storing an externally mutable object into ReturnValueRestriction.requiredGlobals


In file ReturnValueRestriction.java, line 111
In class org.drools.core.rule.ReturnValueRestriction
In method new org.drools.core.rule.ReturnValueRestriction(InternalReadAccessor, ReturnValueExpression, Declaration[], Declaration[], String[], Evaluator)
Field org.drools.core.rule.ReturnValueRestriction.requiredGlobals
Local variable named requiredGlobals
At ReturnValueRestriction.java:[line 111]
At ReturnValueRestriction.java:[line 111]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry(ReadAccessor, Declaration[], Declaration[]) may expose internal representation by storing an externally mutable object into ReturnValueRestriction$ReturnValueContextEntry.localDeclarations


In file ReturnValueRestriction.java, line 423
In class org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry
In method new org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry(ReadAccessor, Declaration[], Declaration[])
Field org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry.localDeclarations
Local variable named localDeclarations
At ReturnValueRestriction.java:[line 423]
At ReturnValueRestriction.java:[line 423]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry(ReadAccessor, Declaration[], Declaration[]) may expose internal representation by storing an externally mutable object into ReturnValueRestriction$ReturnValueContextEntry.previousDeclarations


In file ReturnValueRestriction.java, line 422
In class org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry
In method new org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry(ReadAccessor, Declaration[], Declaration[])
Field org.drools.core.rule.ReturnValueRestriction$ReturnValueContextEntry.previousDeclarations
Local variable named previousDeclarations
At ReturnValueRestriction.java:[line 422]
At ReturnValueRestriction.java:[line 422]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.time.impl.CompositeMaxDurationTrigger(Date, Trigger) may expose internal representation by storing an externally mutable object into CompositeMaxDurationTrigger.maxDurationTimestamp


In file CompositeMaxDurationTrigger.java, line 38
In class org.drools.core.time.impl.CompositeMaxDurationTrigger
In method new org.drools.core.time.impl.CompositeMaxDurationTrigger(Date, Trigger)
Field org.drools.core.time.impl.CompositeMaxDurationTrigger.maxDurationTimestamp
Local variable named maxDurationTimestamp
At CompositeMaxDurationTrigger.java:[line 38]
At CompositeMaxDurationTrigger.java:[line 38]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.time.impl.CompositeMaxDurationTrigger.setMaxDurationTimestamp(Date) may expose internal representation by storing an externally mutable object into CompositeMaxDurationTrigger.maxDurationTimestamp


In file CompositeMaxDurationTrigger.java, line 91
In class org.drools.core.time.impl.CompositeMaxDurationTrigger
In method org.drools.core.time.impl.CompositeMaxDurationTrigger.setMaxDurationTimestamp(Date)
Field org.drools.core.time.impl.CompositeMaxDurationTrigger.maxDurationTimestamp
Local variable named maxDurationTimestamp
At CompositeMaxDurationTrigger.java:[line 91]
At CompositeMaxDurationTrigger.java:[line 91]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.time.impl.CompositeMaxDurationTrigger.setTimerCurrentDate(Date) may expose internal representation by storing an externally mutable object into CompositeMaxDurationTrigger.timerCurrentDate


In file CompositeMaxDurationTrigger.java, line 75
In class org.drools.core.time.impl.CompositeMaxDurationTrigger
In method org.drools.core.time.impl.CompositeMaxDurationTrigger.setTimerCurrentDate(Date)
Field org.drools.core.time.impl.CompositeMaxDurationTrigger.timerCurrentDate
Local variable named timerCurrentDate
At CompositeMaxDurationTrigger.java:[line 75]
At CompositeMaxDurationTrigger.java:[line 75]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.time.impl.CronTrigger(long, Date, Date, int, CronExpression, String[], Calendars) may expose internal representation by storing an externally mutable object into CronTrigger.calendarNames


In file CronTrigger.java, line 88
In class org.drools.core.time.impl.CronTrigger
In method new org.drools.core.time.impl.CronTrigger(long, Date, Date, int, CronExpression, String[], Calendars)
Field org.drools.core.time.impl.CronTrigger.calendarNames
Local variable named calendarNames
At CronTrigger.java:[line 88]
At CronTrigger.java:[line 88]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.time.impl.CronTrigger.setCalendarNames(String[]) may expose internal representation by storing an externally mutable object into CronTrigger.calendarNames


In file CronTrigger.java, line 268
In class org.drools.core.time.impl.CronTrigger
In method org.drools.core.time.impl.CronTrigger.setCalendarNames(String[])
Field org.drools.core.time.impl.CronTrigger.calendarNames
Local variable named calendarNames
At CronTrigger.java:[line 268]
At CronTrigger.java:[line 268]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.time.impl.CronTrigger.setEndTime(Date) may expose internal representation by storing an externally mutable object into CronTrigger.endTime


In file CronTrigger.java, line 137
In class org.drools.core.time.impl.CronTrigger
In method org.drools.core.time.impl.CronTrigger.setEndTime(Date)
Field org.drools.core.time.impl.CronTrigger.endTime
Local variable named endTime
At CronTrigger.java:[line 137]
At CronTrigger.java:[line 137]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.time.impl.CronTrigger.setNextFireTime(Date) may expose internal representation by storing an externally mutable object into CronTrigger.nextFireTime


In file CronTrigger.java, line 175
In class org.drools.core.time.impl.CronTrigger
In method org.drools.core.time.impl.CronTrigger.setNextFireTime(Date)
Field org.drools.core.time.impl.CronTrigger.nextFireTime
Local variable named nextFireTime
At CronTrigger.java:[line 175]
At CronTrigger.java:[line 175]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.time.impl.CronTrigger.setPreviousFireTime(Date) may expose internal representation by storing an externally mutable object into CronTrigger.previousFireTime


In file CronTrigger.java, line 188
In class org.drools.core.time.impl.CronTrigger
In method org.drools.core.time.impl.CronTrigger.setPreviousFireTime(Date)
Field org.drools.core.time.impl.CronTrigger.previousFireTime
Local variable named previousFireTime
At CronTrigger.java:[line 188]
At CronTrigger.java:[line 188]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.time.impl.IntervalTrigger(long, Date, Date, int, long, long, String[], Calendars, Date, Date) may expose internal representation by storing an externally mutable object into IntervalTrigger.calendarNames


In file IntervalTrigger.java, line 87
In class org.drools.core.time.impl.IntervalTrigger
In method new org.drools.core.time.impl.IntervalTrigger(long, Date, Date, int, long, long, String[], Calendars, Date, Date)
Field org.drools.core.time.impl.IntervalTrigger.calendarNames
Local variable named calendarNames
At IntervalTrigger.java:[line 87]
At IntervalTrigger.java:[line 87]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.time.impl.IntervalTrigger(long, Date, Date, int, long, long, String[], Calendars, Date, Date) may expose internal representation by storing an externally mutable object into IntervalTrigger.lastFireTime


In file IntervalTrigger.java, line 73
In class org.drools.core.time.impl.IntervalTrigger
In method new org.drools.core.time.impl.IntervalTrigger(long, Date, Date, int, long, long, String[], Calendars, Date, Date)
Field org.drools.core.time.impl.IntervalTrigger.lastFireTime
Local variable named lastFireTime
At IntervalTrigger.java:[line 73]
At IntervalTrigger.java:[line 73]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.time.impl.IntervalTrigger.setCalendarNames(String[]) may expose internal representation by storing an externally mutable object into IntervalTrigger.calendarNames


In file IntervalTrigger.java, line 292
In class org.drools.core.time.impl.IntervalTrigger
In method org.drools.core.time.impl.IntervalTrigger.setCalendarNames(String[])
Field org.drools.core.time.impl.IntervalTrigger.calendarNames
Local variable named calendarNames
At IntervalTrigger.java:[line 292]
At IntervalTrigger.java:[line 292]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.time.impl.IntervalTrigger.setEndTime(Date) may expose internal representation by storing an externally mutable object into IntervalTrigger.endTime


In file IntervalTrigger.java, line 162
In class org.drools.core.time.impl.IntervalTrigger
In method org.drools.core.time.impl.IntervalTrigger.setEndTime(Date)
Field org.drools.core.time.impl.IntervalTrigger.endTime
Local variable named endTime
At IntervalTrigger.java:[line 162]
At IntervalTrigger.java:[line 162]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.time.impl.IntervalTrigger.setNextFireTime(Date) may expose internal representation by storing an externally mutable object into IntervalTrigger.nextFireTime


In file IntervalTrigger.java, line 284
In class org.drools.core.time.impl.IntervalTrigger
In method org.drools.core.time.impl.IntervalTrigger.setNextFireTime(Date)
Field org.drools.core.time.impl.IntervalTrigger.nextFireTime
Local variable named nextFireTime
At IntervalTrigger.java:[line 284]
At IntervalTrigger.java:[line 284]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.time.TemporalDependencyMatrix(Interval[][], List) may expose internal representation by storing an externally mutable object into TemporalDependencyMatrix.matrix


In file TemporalDependencyMatrix.java, line 35
In class org.drools.core.time.TemporalDependencyMatrix
In method new org.drools.core.time.TemporalDependencyMatrix(Interval[][], List)
Field org.drools.core.time.TemporalDependencyMatrix.matrix
Local variable named matrix
At TemporalDependencyMatrix.java:[line 35]
At TemporalDependencyMatrix.java:[line 35]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.time.TemporalDependencyMatrix.setMatrix(Interval[][]) may expose internal representation by storing an externally mutable object into TemporalDependencyMatrix.matrix


In file TemporalDependencyMatrix.java, line 44
In class org.drools.core.time.TemporalDependencyMatrix
In method org.drools.core.time.TemporalDependencyMatrix.setMatrix(Interval[][])
Field org.drools.core.time.TemporalDependencyMatrix.matrix
Local variable named matrix
At TemporalDependencyMatrix.java:[line 44]
At TemporalDependencyMatrix.java:[line 44]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.util.AbstractHashTable(float, Entry[]) may expose internal representation by storing an externally mutable object into AbstractHashTable.table


In file AbstractHashTable.java, line 70
In class org.drools.core.util.AbstractHashTable
In method new org.drools.core.util.AbstractHashTable(float, Entry[])
Field org.drools.core.util.AbstractHashTable.table
Local variable named table
At AbstractHashTable.java:[line 70]
At AbstractHashTable.java:[line 70]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.util.bitmask.OpenBitSet(long[], int) may expose internal representation by storing an externally mutable object into OpenBitSet.bits


In file OpenBitSet.java, line 111
In class org.drools.core.util.bitmask.OpenBitSet
In method new org.drools.core.util.bitmask.OpenBitSet(long[], int)
Field org.drools.core.util.bitmask.OpenBitSet.bits
Local variable named bits
At OpenBitSet.java:[line 111]
At OpenBitSet.java:[line 111]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.util.bitmask.OpenBitSet.setBits(long[]) may expose internal representation by storing an externally mutable object into OpenBitSet.bits


In file OpenBitSet.java, line 138
In class org.drools.core.util.bitmask.OpenBitSet
In method org.drools.core.util.bitmask.OpenBitSet.setBits(long[])
Field org.drools.core.util.bitmask.OpenBitSet.bits
Local variable named bits
At OpenBitSet.java:[line 138]
At OpenBitSet.java:[line 138]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.util.index.TupleIndexHashTable.init(Entry[], int, int) may expose internal representation by storing an externally mutable object into TupleIndexHashTable.table


In file TupleIndexHashTable.java, line 110
In class org.drools.core.util.index.TupleIndexHashTable
In method org.drools.core.util.index.TupleIndexHashTable.init(Entry[], int, int)
Field org.drools.core.util.index.TupleIndexHashTable.table
Local variable named table
At TupleIndexHashTable.java:[line 110]
At TupleIndexHashTable.java:[line 110]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.util.index.TupleIndexHashTable$FullFastIterator(Entry[]) may expose internal representation by storing an externally mutable object into TupleIndexHashTable$FullFastIterator.table


In file TupleIndexHashTable.java, line 152
In class org.drools.core.util.index.TupleIndexHashTable$FullFastIterator
In method new org.drools.core.util.index.TupleIndexHashTable$FullFastIterator(Entry[])
Field org.drools.core.util.index.TupleIndexHashTable$FullFastIterator.table
Local variable named table
At TupleIndexHashTable.java:[line 152]
At TupleIndexHashTable.java:[line 152]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.util.index.TupleIndexHashTable$FullFastIterator(Entry[], int) may expose internal representation by storing an externally mutable object into TupleIndexHashTable$FullFastIterator.table


In file TupleIndexHashTable.java, line 147
In class org.drools.core.util.index.TupleIndexHashTable$FullFastIterator
In method new org.drools.core.util.index.TupleIndexHashTable$FullFastIterator(Entry[], int)
Field org.drools.core.util.index.TupleIndexHashTable$FullFastIterator.table
Local variable named table
At TupleIndexHashTable.java:[line 147]
At TupleIndexHashTable.java:[line 147]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.util.index.TupleIndexHashTable$FullFastIterator.reset(Entry[]) may expose internal representation by storing an externally mutable object into TupleIndexHashTable$FullFastIterator.table


In file TupleIndexHashTable.java, line 213
In class org.drools.core.util.index.TupleIndexHashTable$FullFastIterator
In method org.drools.core.util.index.TupleIndexHashTable$FullFastIterator.reset(Entry[])
Field org.drools.core.util.index.TupleIndexHashTable$FullFastIterator.table
Local variable named table
At TupleIndexHashTable.java:[line 213]
At TupleIndexHashTable.java:[line 213]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.util.index.TupleIndexHashTable$FullFastIterator.resume(Entry, Entry[]) may expose internal representation by storing an externally mutable object into TupleIndexHashTable$FullFastIterator.table


In file TupleIndexHashTable.java, line 157
In class org.drools.core.util.index.TupleIndexHashTable$FullFastIterator
In method org.drools.core.util.index.TupleIndexHashTable$FullFastIterator.resume(Entry, Entry[])
Field org.drools.core.util.index.TupleIndexHashTable$FullFastIterator.table
Local variable named table
At TupleIndexHashTable.java:[line 157]
At TupleIndexHashTable.java:[line 157]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.xml.jaxb.util.JaxbListWrapper(Object[]) may expose internal representation by storing an externally mutable object into JaxbListWrapper.elements


In file JaxbListWrapper.java, line 55
In class org.drools.core.xml.jaxb.util.JaxbListWrapper
In method new org.drools.core.xml.jaxb.util.JaxbListWrapper(Object[])
Field org.drools.core.xml.jaxb.util.JaxbListWrapper.elements
Local variable named elements
At JaxbListWrapper.java:[line 55]
At JaxbListWrapper.java:[line 55]

May expose internal representation by incorporating reference to mutable object Medium

new org.drools.core.xml.jaxb.util.JaxbListWrapper(Object[], JaxbListWrapper$JaxbWrapperType) may expose internal representation by storing an externally mutable object into JaxbListWrapper.elements


In file JaxbListWrapper.java, line 59
In class org.drools.core.xml.jaxb.util.JaxbListWrapper
In method new org.drools.core.xml.jaxb.util.JaxbListWrapper(Object[], JaxbListWrapper$JaxbWrapperType)
Field org.drools.core.xml.jaxb.util.JaxbListWrapper.elements
Local variable named elements
At JaxbListWrapper.java:[line 59]
At JaxbListWrapper.java:[line 59]

May expose internal representation by incorporating reference to mutable object Medium

org.drools.core.xml.jaxb.util.JaxbListWrapper.setElements(Object[]) may expose internal representation by storing an externally mutable object into JaxbListWrapper.elements


In file JaxbListWrapper.java, line 68
In class org.drools.core.xml.jaxb.util.JaxbListWrapper
In method org.drools.core.xml.jaxb.util.JaxbListWrapper.setElements(Object[])
Field org.drools.core.xml.jaxb.util.JaxbListWrapper.elements
Local variable named elements
At JaxbListWrapper.java:[line 68]
At JaxbListWrapper.java:[line 68]

Field should be package protected Medium

org.drools.core.base.evaluators.CoincidesEvaluatorDefinition.COINCIDES should be package protected


In file CoincidesEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.CoincidesEvaluatorDefinition
Field org.drools.core.base.evaluators.CoincidesEvaluatorDefinition.COINCIDES
In CoincidesEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.CoincidesEvaluatorDefinition.COINCIDES_NOT should be package protected


In file CoincidesEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.CoincidesEvaluatorDefinition
Field org.drools.core.base.evaluators.CoincidesEvaluatorDefinition.COINCIDES_NOT
In CoincidesEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.DuringEvaluatorDefinition.DURING should be package protected


In file DuringEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.DuringEvaluatorDefinition
Field org.drools.core.base.evaluators.DuringEvaluatorDefinition.DURING
In DuringEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.DuringEvaluatorDefinition.NOT_DURING should be package protected


In file DuringEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.DuringEvaluatorDefinition
Field org.drools.core.base.evaluators.DuringEvaluatorDefinition.NOT_DURING
In DuringEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.FinishedByEvaluatorDefinition.FINISHED_BY should be package protected


In file FinishedByEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.FinishedByEvaluatorDefinition
Field org.drools.core.base.evaluators.FinishedByEvaluatorDefinition.FINISHED_BY
In FinishedByEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.FinishedByEvaluatorDefinition.NOT_FINISHED_BY should be package protected


In file FinishedByEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.FinishedByEvaluatorDefinition
Field org.drools.core.base.evaluators.FinishedByEvaluatorDefinition.NOT_FINISHED_BY
In FinishedByEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.FinishesEvaluatorDefinition.FINISHES should be package protected


In file FinishesEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.FinishesEvaluatorDefinition
Field org.drools.core.base.evaluators.FinishesEvaluatorDefinition.FINISHES
In FinishesEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.FinishesEvaluatorDefinition.FINISHES_NOT should be package protected


In file FinishesEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.FinishesEvaluatorDefinition
Field org.drools.core.base.evaluators.FinishesEvaluatorDefinition.FINISHES_NOT
In FinishesEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.IncludesEvaluatorDefinition.INCLUDES should be package protected


In file IncludesEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.IncludesEvaluatorDefinition
Field org.drools.core.base.evaluators.IncludesEvaluatorDefinition.INCLUDES
In IncludesEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.IncludesEvaluatorDefinition.INCLUDES_NOT should be package protected


In file IncludesEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.IncludesEvaluatorDefinition
Field org.drools.core.base.evaluators.IncludesEvaluatorDefinition.INCLUDES_NOT
In IncludesEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.MatchesEvaluatorsDefinition.MATCHES should be package protected


In file MatchesEvaluatorsDefinition.java, lines to
In class org.drools.core.base.evaluators.MatchesEvaluatorsDefinition
Field org.drools.core.base.evaluators.MatchesEvaluatorsDefinition.MATCHES
In MatchesEvaluatorsDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.MatchesEvaluatorsDefinition.NOT_MATCHES should be package protected


In file MatchesEvaluatorsDefinition.java, lines to
In class org.drools.core.base.evaluators.MatchesEvaluatorsDefinition
Field org.drools.core.base.evaluators.MatchesEvaluatorsDefinition.NOT_MATCHES
In MatchesEvaluatorsDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.MeetsEvaluatorDefinition.MEETS should be package protected


In file MeetsEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.MeetsEvaluatorDefinition
Field org.drools.core.base.evaluators.MeetsEvaluatorDefinition.MEETS
In MeetsEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.MeetsEvaluatorDefinition.MEETS_NOT should be package protected


In file MeetsEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.MeetsEvaluatorDefinition
Field org.drools.core.base.evaluators.MeetsEvaluatorDefinition.MEETS_NOT
In MeetsEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.MetByEvaluatorDefinition.MET_BY should be package protected


In file MetByEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.MetByEvaluatorDefinition
Field org.drools.core.base.evaluators.MetByEvaluatorDefinition.MET_BY
In MetByEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.MetByEvaluatorDefinition.NOT_MET_BY should be package protected


In file MetByEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.MetByEvaluatorDefinition
Field org.drools.core.base.evaluators.MetByEvaluatorDefinition.NOT_MET_BY
In MetByEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.OverlappedByEvaluatorDefinition.NOT_OVERLAPPED_BY should be package protected


In file OverlappedByEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.OverlappedByEvaluatorDefinition
Field org.drools.core.base.evaluators.OverlappedByEvaluatorDefinition.NOT_OVERLAPPED_BY
In OverlappedByEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.OverlappedByEvaluatorDefinition.OVERLAPPED_BY should be package protected


In file OverlappedByEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.OverlappedByEvaluatorDefinition
Field org.drools.core.base.evaluators.OverlappedByEvaluatorDefinition.OVERLAPPED_BY
In OverlappedByEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.OverlapsEvaluatorDefinition.OVERLAPS should be package protected


In file OverlapsEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.OverlapsEvaluatorDefinition
Field org.drools.core.base.evaluators.OverlapsEvaluatorDefinition.OVERLAPS
In OverlapsEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.OverlapsEvaluatorDefinition.OVERLAPS_NOT should be package protected


In file OverlapsEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.OverlapsEvaluatorDefinition
Field org.drools.core.base.evaluators.OverlapsEvaluatorDefinition.OVERLAPS_NOT
In OverlapsEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.SetEvaluatorsDefinition.CONTAINS should be package protected


In file SetEvaluatorsDefinition.java, lines to
In class org.drools.core.base.evaluators.SetEvaluatorsDefinition
Field org.drools.core.base.evaluators.SetEvaluatorsDefinition.CONTAINS
In SetEvaluatorsDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.SetEvaluatorsDefinition.EXCLUDES should be package protected


In file SetEvaluatorsDefinition.java, lines to
In class org.drools.core.base.evaluators.SetEvaluatorsDefinition
Field org.drools.core.base.evaluators.SetEvaluatorsDefinition.EXCLUDES
In SetEvaluatorsDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.SetEvaluatorsDefinition.MEMBEROF should be package protected


In file SetEvaluatorsDefinition.java, lines to
In class org.drools.core.base.evaluators.SetEvaluatorsDefinition
Field org.drools.core.base.evaluators.SetEvaluatorsDefinition.MEMBEROF
In SetEvaluatorsDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.SetEvaluatorsDefinition.NOT_CONTAINS should be package protected


In file SetEvaluatorsDefinition.java, lines to
In class org.drools.core.base.evaluators.SetEvaluatorsDefinition
Field org.drools.core.base.evaluators.SetEvaluatorsDefinition.NOT_CONTAINS
In SetEvaluatorsDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.SetEvaluatorsDefinition.NOT_EXCLUDES should be package protected


In file SetEvaluatorsDefinition.java, lines to
In class org.drools.core.base.evaluators.SetEvaluatorsDefinition
Field org.drools.core.base.evaluators.SetEvaluatorsDefinition.NOT_EXCLUDES
In SetEvaluatorsDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.SetEvaluatorsDefinition.NOT_MEMBEROF should be package protected


In file SetEvaluatorsDefinition.java, lines to
In class org.drools.core.base.evaluators.SetEvaluatorsDefinition
Field org.drools.core.base.evaluators.SetEvaluatorsDefinition.NOT_MEMBEROF
In SetEvaluatorsDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition.NOT_SOUNDSLIKE should be package protected


In file SoundslikeEvaluatorsDefinition.java, lines to
In class org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition
Field org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition.NOT_SOUNDSLIKE
In SoundslikeEvaluatorsDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition.SOUNDSLIKE should be package protected


In file SoundslikeEvaluatorsDefinition.java, lines to
In class org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition
Field org.drools.core.base.evaluators.SoundslikeEvaluatorsDefinition.SOUNDSLIKE
In SoundslikeEvaluatorsDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.StartedByEvaluatorDefinition.NOT_STARTED_BY should be package protected


In file StartedByEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.StartedByEvaluatorDefinition
Field org.drools.core.base.evaluators.StartedByEvaluatorDefinition.NOT_STARTED_BY
In StartedByEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.StartedByEvaluatorDefinition.STARTED_BY should be package protected


In file StartedByEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.StartedByEvaluatorDefinition
Field org.drools.core.base.evaluators.StartedByEvaluatorDefinition.STARTED_BY
In StartedByEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.StartsEvaluatorDefinition.STARTS should be package protected


In file StartsEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.StartsEvaluatorDefinition
Field org.drools.core.base.evaluators.StartsEvaluatorDefinition.STARTS
In StartsEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.StartsEvaluatorDefinition.STARTS_NOT should be package protected


In file StartsEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.StartsEvaluatorDefinition
Field org.drools.core.base.evaluators.StartsEvaluatorDefinition.STARTS_NOT
In StartsEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.StrEvaluatorDefinition.NOT_STR_COMPARE should be package protected


In file StrEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.StrEvaluatorDefinition
Field org.drools.core.base.evaluators.StrEvaluatorDefinition.NOT_STR_COMPARE
In StrEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.base.evaluators.StrEvaluatorDefinition.STR_COMPARE should be package protected


In file StrEvaluatorDefinition.java, lines to
In class org.drools.core.base.evaluators.StrEvaluatorDefinition
Field org.drools.core.base.evaluators.StrEvaluatorDefinition.STR_COMPARE
In StrEvaluatorDefinition.java

Field should be package protected Medium

org.drools.core.common.NamedEntryPoint.ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES should be package protected


In file NamedEntryPoint.java, line 61
In class org.drools.core.common.NamedEntryPoint
Field org.drools.core.common.NamedEntryPoint.ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES
At NamedEntryPoint.java:[line 61]

Field is a mutable collection which should be package protected Medium

org.drools.core.marshalling.impl.ProtobufMarshaller.TIMER_READERS is a mutable collection which should be package protected


In file ProtobufMarshaller.java, line 66
In class org.drools.core.marshalling.impl.ProtobufMarshaller
Field org.drools.core.marshalling.impl.ProtobufMarshaller.TIMER_READERS
At ProtobufMarshaller.java:[line 66]

Field should be package protected Medium

org.drools.core.reteoo.ClassObjectTypeConf.ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES should be package protected


In file ClassObjectTypeConf.java, line 48
In class org.drools.core.reteoo.ClassObjectTypeConf
Field org.drools.core.reteoo.ClassObjectTypeConf.ADD_REMOVE_PROPERTY_CHANGE_LISTENER_ARG_TYPES
At ClassObjectTypeConf.java:[line 48]

Field is a mutable collection which should be package protected Medium

org.drools.core.time.impl.CronExpression.dayMap is a mutable collection which should be package protected


In file CronExpression.java, line 209
In class org.drools.core.time.impl.CronExpression
Field org.drools.core.time.impl.CronExpression.dayMap
At CronExpression.java:[line 209]

Field is a mutable collection which should be package protected Medium

org.drools.core.time.impl.CronExpression.monthMap is a mutable collection which should be package protected


In file CronExpression.java, line 208
In class org.drools.core.time.impl.CronExpression
Field org.drools.core.time.impl.CronExpression.monthMap
At CronExpression.java:[line 208]



Multithreaded correctness Warnings

Warning Priority Details
Sequence of calls to concurrent abstraction may not be atomic Medium

Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be atomic in org.drools.core.management.KieSessionMonitoringImpl$AgendaStats.getRuleStatsInstance(String)


In file KieSessionMonitoringImpl.java, line 249
In class org.drools.core.management.KieSessionMonitoringImpl$AgendaStats
In method org.drools.core.management.KieSessionMonitoringImpl$AgendaStats.getRuleStatsInstance(String)
Type java.util.concurrent.ConcurrentHashMap
Called method java.util.concurrent.ConcurrentHashMap.put(Object, Object)
At KieSessionMonitoringImpl.java:[line 249]

Sequence of calls to concurrent abstraction may not be atomic Medium

Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be atomic in org.drools.core.management.KieSessionMonitoringImpl$ProcessStats.getProcessInstanceStatsInstance(Long)


In file KieSessionMonitoringImpl.java, line 377
In class org.drools.core.management.KieSessionMonitoringImpl$ProcessStats
In method org.drools.core.management.KieSessionMonitoringImpl$ProcessStats.getProcessInstanceStatsInstance(Long)
Type java.util.concurrent.ConcurrentHashMap
Called method java.util.concurrent.ConcurrentHashMap.put(Object, Object)
At KieSessionMonitoringImpl.java:[line 377]

Sequence of calls to concurrent abstraction may not be atomic Medium

Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be atomic in org.drools.core.management.KieSessionMonitoringImpl$ProcessStats.getProcessStatsInstance(String)


In file KieSessionMonitoringImpl.java, line 368
In class org.drools.core.management.KieSessionMonitoringImpl$ProcessStats
In method org.drools.core.management.KieSessionMonitoringImpl$ProcessStats.getProcessStatsInstance(String)
Type java.util.concurrent.ConcurrentHashMap
Called method java.util.concurrent.ConcurrentHashMap.put(Object, Object)
At KieSessionMonitoringImpl.java:[line 368]

Possible double check of field Medium

Possible doublecheck on org.drools.core.impl.StatefulKnowledgeSessionImpl.processRuntime in org.drools.core.impl.StatefulKnowledgeSessionImpl.getProcessRuntime()


In file StatefulKnowledgeSessionImpl.java, lines 459 to 461
In class org.drools.core.impl.StatefulKnowledgeSessionImpl
In method org.drools.core.impl.StatefulKnowledgeSessionImpl.getProcessRuntime()
On field org.drools.core.impl.StatefulKnowledgeSessionImpl.processRuntime
At StatefulKnowledgeSessionImpl.java:[lines 459-461]

Inconsistent synchronization Medium

Inconsistent synchronization of org.drools.core.factmodel.traits.AbstractTraitFactory.wrapperCache; locked 71% of time


In file AbstractTraitFactory.java, line 102
In class org.drools.core.factmodel.traits.AbstractTraitFactory
Field org.drools.core.factmodel.traits.AbstractTraitFactory.wrapperCache
Synchronized 71% of the time
Unsynchronized access at AbstractTraitFactory.java:[line 102]
Unsynchronized access at AbstractTraitFactory.java:[line 108]
Synchronized access at AbstractTraitFactory.java:[line 289]
Synchronized access at AbstractTraitFactory.java:[line 293]
Synchronized access at AbstractTraitFactory.java:[line 290]
Synchronized access at AbstractTraitFactory.java:[line 294]
Synchronized access at AbstractTraitFactory.java:[line 303]

Inconsistent synchronization Medium

Inconsistent synchronization of org.drools.core.impl.StatefulKnowledgeSessionImpl.runtimeServices; locked 50% of time


In file StatefulKnowledgeSessionImpl.java, line 400
In class org.drools.core.impl.StatefulKnowledgeSessionImpl
Field org.drools.core.impl.StatefulKnowledgeSessionImpl.runtimeServices
Synchronized 50% of the time
Unsynchronized access at StatefulKnowledgeSessionImpl.java:[line 400]
Unsynchronized access at StatefulKnowledgeSessionImpl.java:[line 403]
Synchronized access at StatefulKnowledgeSessionImpl.java:[line 414]
Synchronized access at StatefulKnowledgeSessionImpl.java:[line 418]
Synchronized access at StatefulKnowledgeSessionImpl.java:[line 415]

Inconsistent synchronization Medium

Inconsistent synchronization of org.drools.core.reteoo.ReteooBuilder.queries; locked 60% of time


In file ReteooBuilder.java, line 457
In class org.drools.core.reteoo.ReteooBuilder
Field org.drools.core.reteoo.ReteooBuilder.queries
Synchronized 60% of the time
Unsynchronized access at ReteooBuilder.java:[line 457]
Unsynchronized access at ReteooBuilder.java:[line 430]
Synchronized access at ReteooBuilder.java:[line 169]
Synchronized access at ReteooBuilder.java:[line 113]
Synchronized access at ReteooBuilder.java:[line 149]

Inconsistent synchronization Medium

Inconsistent synchronization of org.drools.core.reteoo.ReteooBuilder.rules; locked 66% of time


In file ReteooBuilder.java, line 456
In class org.drools.core.reteoo.ReteooBuilder
Field org.drools.core.reteoo.ReteooBuilder.rules
Synchronized 66% of the time
Unsynchronized access at ReteooBuilder.java:[line 456]
Unsynchronized access at ReteooBuilder.java:[line 429]
Synchronized access at ReteooBuilder.java:[line 164]
Synchronized access at ReteooBuilder.java:[line 145]
Synchronized access at ReteooBuilder.java:[line 111]
Synchronized access at ReteooBuilder.java:[line 154]

Inconsistent synchronization Medium

Inconsistent synchronization of org.drools.core.time.impl.PseudoClockScheduler.session; locked 66% of time


In file PseudoClockScheduler.java, line 81
In class org.drools.core.time.impl.PseudoClockScheduler
Field org.drools.core.time.impl.PseudoClockScheduler.session
Synchronized 66% of the time
Unsynchronized access at PseudoClockScheduler.java:[line 81]
Synchronized access at PseudoClockScheduler.java:[line 171]
Synchronized access at PseudoClockScheduler.java:[line 178]

Synchronization performed on util.concurrent instance Medium

Synchronization performed on java.util.concurrent.PriorityBlockingQueue in org.drools.core.time.impl.PseudoClockScheduler.getTimeToNextJob()


In file PseudoClockScheduler.java, line 222
In class org.drools.core.time.impl.PseudoClockScheduler
In method org.drools.core.time.impl.PseudoClockScheduler.getTimeToNextJob()
Type java.util.concurrent.PriorityBlockingQueue
Value loaded from field org.drools.core.time.impl.PseudoClockScheduler.queue
At PseudoClockScheduler.java:[line 222]

Synchronization performed on util.concurrent instance Medium

Synchronization performed on java.util.concurrent.PriorityBlockingQueue in org.drools.core.time.impl.PseudoClockScheduler.internalSchedule(TimerJobInstance)


In file PseudoClockScheduler.java, line 137
In class org.drools.core.time.impl.PseudoClockScheduler
In method org.drools.core.time.impl.PseudoClockScheduler.internalSchedule(TimerJobInstance)
Type java.util.concurrent.PriorityBlockingQueue
Value loaded from field org.drools.core.time.impl.PseudoClockScheduler.queue
At PseudoClockScheduler.java:[line 137]

Synchronization performed on util.concurrent instance Medium

Synchronization performed on java.util.concurrent.PriorityBlockingQueue in org.drools.core.time.impl.PseudoClockScheduler.removeJob(JobHandle)


In file PseudoClockScheduler.java, line 150
In class org.drools.core.time.impl.PseudoClockScheduler
In method org.drools.core.time.impl.PseudoClockScheduler.removeJob(JobHandle)
Type java.util.concurrent.PriorityBlockingQueue
Value loaded from field org.drools.core.time.impl.PseudoClockScheduler.queue
At PseudoClockScheduler.java:[line 150]

Synchronization performed on util.concurrent instance Medium

Synchronization performed on java.util.concurrent.PriorityBlockingQueue in org.drools.core.time.impl.PseudoClockScheduler.runCallBacksAndIncreaseTimer(long)


In file PseudoClockScheduler.java, line 195
In class org.drools.core.time.impl.PseudoClockScheduler
In method org.drools.core.time.impl.PseudoClockScheduler.runCallBacksAndIncreaseTimer(long)
Type java.util.concurrent.PriorityBlockingQueue
Value loaded from e
At PseudoClockScheduler.java:[line 195]

Synchronization performed on util.concurrent instance Medium

Synchronization performed on java.util.concurrent.PriorityBlockingQueue in org.drools.core.time.impl.PseudoClockScheduler.runCallBacksAndIncreaseTimer(long)


In file PseudoClockScheduler.java, line 213
In class org.drools.core.time.impl.PseudoClockScheduler
In method org.drools.core.time.impl.PseudoClockScheduler.runCallBacksAndIncreaseTimer(long)
Type java.util.concurrent.PriorityBlockingQueue
Value loaded from e
At PseudoClockScheduler.java:[line 213]

Naked notify Medium

Naked notify in org.drools.core.phreak.SynchronizedPropagationList.notifyWaitOnRest()


In file SynchronizedPropagationList.java, line 138
In class org.drools.core.phreak.SynchronizedPropagationList
In method org.drools.core.phreak.SynchronizedPropagationList.notifyWaitOnRest()
At SynchronizedPropagationList.java:[line 138]

Method does not release lock on all exception paths Medium

org.drools.core.common.NamedEntryPoint.delete(FactHandle, RuleImpl, Activation, FactHandle$State) does not release lock on all exception paths


In file NamedEntryPoint.java, line 458
In class org.drools.core.common.NamedEntryPoint
In method org.drools.core.common.NamedEntryPoint.delete(FactHandle, RuleImpl, Activation, FactHandle$State)
At NamedEntryPoint.java:[line 458]
At NamedEntryPoint.java:[line 458]

Method does not release lock on all exception paths Medium

org.drools.core.common.NamedEntryPoint.update(InternalFactHandle, Object, BitMask, Class, Activation) does not release lock on all exception paths


In file NamedEntryPoint.java, line 324
In class org.drools.core.common.NamedEntryPoint
In method org.drools.core.common.NamedEntryPoint.update(InternalFactHandle, Object, BitMask, Class, Activation)
At NamedEntryPoint.java:[line 324]
At NamedEntryPoint.java:[line 324]

An increment to a volatile field isn't atomic Medium

Increment of volatile field org.drools.core.util.BinaryHeapQueue.size in org.drools.core.util.BinaryHeapQueue.dequeue(int)


In file BinaryHeapQueue.java, line 201
In class org.drools.core.util.BinaryHeapQueue
In method org.drools.core.util.BinaryHeapQueue.dequeue(int)
Field org.drools.core.util.BinaryHeapQueue.size
At BinaryHeapQueue.java:[line 201]

Wait not in loop Medium

Wait not in loop in org.drools.core.phreak.SynchronizedPropagationList.waitOnRest()


In file SynchronizedPropagationList.java, line 128
In class org.drools.core.phreak.SynchronizedPropagationList
In method org.drools.core.phreak.SynchronizedPropagationList.waitOnRest()
At SynchronizedPropagationList.java:[line 128]



Performance Warnings

Warning Priority Details
Boxing/unboxing to parse a primitive High

Boxing/unboxing to parse a primitive org.drools.core.base.DefaultKnowledgeHelper.getContext(Class)


In file DefaultKnowledgeHelper.java, line 536
In class org.drools.core.base.DefaultKnowledgeHelper
In method org.drools.core.base.DefaultKnowledgeHelper.getContext(Class)
Called method Long.longValue()
Should call Long.parseLong(String) instead
At DefaultKnowledgeHelper.java:[line 536]
At DefaultKnowledgeHelper.java:[line 536]

Boxing/unboxing to parse a primitive High

Boxing/unboxing to parse a primitive org.drools.core.base.field.ObjectFieldImpl.getIntValue()


In file ObjectFieldImpl.java, line 164
In class org.drools.core.base.field.ObjectFieldImpl
In method org.drools.core.base.field.ObjectFieldImpl.getIntValue()
Called method Integer.intValue()
Should call Integer.parseInt(String) instead
At ObjectFieldImpl.java:[line 164]
At ObjectFieldImpl.java:[line 164]

Boxing/unboxing to parse a primitive High

Boxing/unboxing to parse a primitive org.drools.core.base.field.ObjectFieldImpl.getLongValue()


In file ObjectFieldImpl.java, line 173
In class org.drools.core.base.field.ObjectFieldImpl
In method org.drools.core.base.field.ObjectFieldImpl.getLongValue()
Called method Long.longValue()
Should call Long.parseLong(String) instead
At ObjectFieldImpl.java:[line 173]
At ObjectFieldImpl.java:[line 173]

Method allocates a boxed primitive just to call toString High

Primitive boxed just to call toString in org.drools.core.util.StringUtils.escapeXmlString(String)


In file StringUtils.java, line 774
In class org.drools.core.util.StringUtils
In method org.drools.core.util.StringUtils.escapeXmlString(String)
Called method Integer.toString()
Should call Integer.toString(int) instead
At StringUtils.java:[line 774]
At StringUtils.java:[line 774]

The equals and hashCode methods of URL are blocking High

Invocation of java.net.URL.equals(Object), which blocks to do domain name resolution, in org.drools.core.io.impl.UrlResource.equals(Object)


In file UrlResource.java, line 402
In class org.drools.core.io.impl.UrlResource
In method org.drools.core.io.impl.UrlResource.equals(Object)
Called method java.net.URL.equals(Object)
At UrlResource.java:[line 402]
At UrlResource.java:[line 402]

The equals and hashCode methods of URL are blocking High

Invocation of java.net.URL.hashCode(), which blocks to do domain name resolution, in org.drools.core.io.impl.UrlResource.hashCode()


In file UrlResource.java, line 409
In class org.drools.core.io.impl.UrlResource
In method org.drools.core.io.impl.UrlResource.hashCode()
Called method java.net.URL.hashCode()
At UrlResource.java:[line 409]
At UrlResource.java:[line 409]

Explicit garbage collection; extremely dubious except in benchmarking code High

org.drools.core.util.IoUtils.write(File, byte[]) forces garbage collection; extremely dubious except in benchmarking code


In file IoUtils.java, line 331
In class org.drools.core.util.IoUtils
In method org.drools.core.util.IoUtils.write(File, byte[])
At IoUtils.java:[line 331]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.accumulators.CountAccumulateFunction.getResult(Serializable) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead


In file CountAccumulateFunction.java, line 93
In class org.drools.core.base.accumulators.CountAccumulateFunction
In method org.drools.core.base.accumulators.CountAccumulateFunction.getResult(Serializable)
Called method new Long(long)
Should call Long.valueOf(long) instead
At CountAccumulateFunction.java:[line 93]
At CountAccumulateFunction.java:[line 93]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.DefaultKnowledgeHelper.getContext(Class) invokes inefficient new Long(String) constructor; use Long.valueOf(String) instead


In file DefaultKnowledgeHelper.java, line 536
In class org.drools.core.base.DefaultKnowledgeHelper
In method org.drools.core.base.DefaultKnowledgeHelper.getContext(Class)
Called method new Long(String)
Should call Long.valueOf(String) instead
At DefaultKnowledgeHelper.java:[line 536]
At DefaultKnowledgeHelper.java:[line 536]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.extractors.BaseByteClassFieldReader.getValue(InternalWorkingMemory, Object) invokes inefficient new Byte(byte) constructor; use Byte.valueOf(byte) instead


In file BaseByteClassFieldReader.java, line 49
In class org.drools.core.base.extractors.BaseByteClassFieldReader
In method org.drools.core.base.extractors.BaseByteClassFieldReader.getValue(InternalWorkingMemory, Object)
Called method new Byte(byte)
Should call Byte.valueOf(byte) instead
At BaseByteClassFieldReader.java:[line 49]
At BaseByteClassFieldReader.java:[line 49]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.extractors.BaseCharClassFieldReader.getValue(InternalWorkingMemory, Object) invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead


In file BaseCharClassFieldReader.java, line 45
In class org.drools.core.base.extractors.BaseCharClassFieldReader
In method org.drools.core.base.extractors.BaseCharClassFieldReader.getValue(InternalWorkingMemory, Object)
Called method new Character(char)
Should call Character.valueOf(char) instead
At BaseCharClassFieldReader.java:[line 45]
At BaseCharClassFieldReader.java:[line 45]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.extractors.BaseIntClassFieldReader.getValue(InternalWorkingMemory, Object) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead


In file BaseIntClassFieldReader.java, line 45
In class org.drools.core.base.extractors.BaseIntClassFieldReader
In method org.drools.core.base.extractors.BaseIntClassFieldReader.getValue(InternalWorkingMemory, Object)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At BaseIntClassFieldReader.java:[line 45]
At BaseIntClassFieldReader.java:[line 45]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.extractors.BaseLongClassFieldReader.getValue(InternalWorkingMemory, Object) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead


In file BaseLongClassFieldReader.java, line 45
In class org.drools.core.base.extractors.BaseLongClassFieldReader
In method org.drools.core.base.extractors.BaseLongClassFieldReader.getValue(InternalWorkingMemory, Object)
Called method new Long(long)
Should call Long.valueOf(long) instead
At BaseLongClassFieldReader.java:[line 45]
At BaseLongClassFieldReader.java:[line 45]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.extractors.BaseObjectClassFieldWriter.setByteValue(Object, byte) invokes inefficient new Byte(byte) constructor; use Byte.valueOf(byte) instead


In file BaseObjectClassFieldWriter.java, line 57
In class org.drools.core.base.extractors.BaseObjectClassFieldWriter
In method org.drools.core.base.extractors.BaseObjectClassFieldWriter.setByteValue(Object, byte)
Called method new Byte(byte)
Should call Byte.valueOf(byte) instead
At BaseObjectClassFieldWriter.java:[line 57]
At BaseObjectClassFieldWriter.java:[line 57]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.extractors.BaseObjectClassFieldWriter.setCharValue(Object, char) invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead


In file BaseObjectClassFieldWriter.java, line 63
In class org.drools.core.base.extractors.BaseObjectClassFieldWriter
In method org.drools.core.base.extractors.BaseObjectClassFieldWriter.setCharValue(Object, char)
Called method new Character(char)
Should call Character.valueOf(char) instead
At BaseObjectClassFieldWriter.java:[line 63]
At BaseObjectClassFieldWriter.java:[line 63]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.extractors.BaseObjectClassFieldWriter.setIntValue(Object, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead


In file BaseObjectClassFieldWriter.java, line 81
In class org.drools.core.base.extractors.BaseObjectClassFieldWriter
In method org.drools.core.base.extractors.BaseObjectClassFieldWriter.setIntValue(Object, int)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At BaseObjectClassFieldWriter.java:[line 81]
At BaseObjectClassFieldWriter.java:[line 81]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.extractors.BaseObjectClassFieldWriter.setLongValue(Object, long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead


In file BaseObjectClassFieldWriter.java, line 87
In class org.drools.core.base.extractors.BaseObjectClassFieldWriter
In method org.drools.core.base.extractors.BaseObjectClassFieldWriter.setLongValue(Object, long)
Called method new Long(long)
Should call Long.valueOf(long) instead
At BaseObjectClassFieldWriter.java:[line 87]
At BaseObjectClassFieldWriter.java:[line 87]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.extractors.BaseObjectClassFieldWriter.setShortValue(Object, short) invokes inefficient new Short(short) constructor; use Short.valueOf(short) instead


In file BaseObjectClassFieldWriter.java, line 93
In class org.drools.core.base.extractors.BaseObjectClassFieldWriter
In method org.drools.core.base.extractors.BaseObjectClassFieldWriter.setShortValue(Object, short)
Called method new Short(short)
Should call Short.valueOf(short) instead
At BaseObjectClassFieldWriter.java:[line 93]
At BaseObjectClassFieldWriter.java:[line 93]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.extractors.BaseShortClassFieldReader.getValue(InternalWorkingMemory, Object) invokes inefficient new Short(short) constructor; use Short.valueOf(short) instead


In file BaseShortClassFieldReader.java, line 45
In class org.drools.core.base.extractors.BaseShortClassFieldReader
In method org.drools.core.base.extractors.BaseShortClassFieldReader.getValue(InternalWorkingMemory, Object)
Called method new Short(short)
Should call Short.valueOf(short) instead
At BaseShortClassFieldReader.java:[line 45]
At BaseShortClassFieldReader.java:[line 45]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.field.LongFieldImpl.getValue() invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead


In file LongFieldImpl.java, line 53
In class org.drools.core.base.field.LongFieldImpl
In method org.drools.core.base.field.LongFieldImpl.getValue()
Called method new Long(long)
Should call Long.valueOf(long) instead
At LongFieldImpl.java:[line 53]
At LongFieldImpl.java:[line 53]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.FieldFactory.getFieldValue(String, ValueType) invokes inefficient new Byte(String) constructor; use Byte.valueOf(String) instead


In file FieldFactory.java, line 78
In class org.drools.core.base.FieldFactory
In method org.drools.core.base.FieldFactory.getFieldValue(String, ValueType)
Called method new Byte(String)
Should call Byte.valueOf(String) instead
At FieldFactory.java:[line 78]
At FieldFactory.java:[line 78]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.FieldFactory.getFieldValue(String, ValueType) invokes inefficient new Integer(String) constructor; use Integer.valueOf(String) instead


In file FieldFactory.java, line 82
In class org.drools.core.base.FieldFactory
In method org.drools.core.base.FieldFactory.getFieldValue(String, ValueType)
Called method new Integer(String)
Should call Integer.valueOf(String) instead
At FieldFactory.java:[line 82]
At FieldFactory.java:[line 82]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.FieldFactory.getFieldValue(String, ValueType) invokes inefficient new Long(String) constructor; use Long.valueOf(String) instead


In file FieldFactory.java, line 84
In class org.drools.core.base.FieldFactory
In method org.drools.core.base.FieldFactory.getFieldValue(String, ValueType)
Called method new Long(String)
Should call Long.valueOf(String) instead
At FieldFactory.java:[line 84]
At FieldFactory.java:[line 84]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.base.FieldFactory.getFieldValue(String, ValueType) invokes inefficient new Short(String) constructor; use Short.valueOf(String) instead


In file FieldFactory.java, line 80
In class org.drools.core.base.FieldFactory
In method org.drools.core.base.FieldFactory.getFieldValue(String, ValueType)
Called method new Short(String)
Should call Short.valueOf(String) instead
At FieldFactory.java:[line 80]
At FieldFactory.java:[line 80]

Boxed value is unboxed and then immediately reboxed Medium

Boxed value is unboxed and then immediately reboxed in org.drools.core.marshalling.impl.ProtobufInputMarshaller.readTruthMaintenanceSystem(MarshallerReaderContext, EntryPoint, ProtobufMessages$EntryPoint, List)


In file ProtobufInputMarshaller.java, line 620
In class org.drools.core.marshalling.impl.ProtobufInputMarshaller
In method org.drools.core.marshalling.impl.ProtobufInputMarshaller.readTruthMaintenanceSystem(MarshallerReaderContext, EntryPoint, ProtobufMessages$EntryPoint, List)
Called method Integer.valueOf(int)
At ProtobufInputMarshaller.java:[line 620]
At ProtobufInputMarshaller.java:[line 620]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.process.core.datatype.impl.type.IntegerDataType.readValue(String) invokes inefficient new Integer(String) constructor; use Integer.valueOf(String) instead


In file IntegerDataType.java, line 51
In class org.drools.core.process.core.datatype.impl.type.IntegerDataType
In method org.drools.core.process.core.datatype.impl.type.IntegerDataType.readValue(String)
Called method new Integer(String)
Should call Integer.valueOf(String) instead
At IntegerDataType.java:[line 51]
At IntegerDataType.java:[line 51]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.process.instance.impl.DefaultWorkItemManager.abortWorkItem(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead


In file DefaultWorkItemManager.java, line 139
In class org.drools.core.process.instance.impl.DefaultWorkItemManager
In method org.drools.core.process.instance.impl.DefaultWorkItemManager.abortWorkItem(long)
Called method new Long(long)
Should call Long.valueOf(long) instead
At DefaultWorkItemManager.java:[line 139]
At DefaultWorkItemManager.java:[line 139]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.process.instance.impl.DefaultWorkItemManager.completeWorkItem(long, Map) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead


In file DefaultWorkItemManager.java, line 124
In class org.drools.core.process.instance.impl.DefaultWorkItemManager
In method org.drools.core.process.instance.impl.DefaultWorkItemManager.completeWorkItem(long, Map)
Called method new Long(long)
Should call Long.valueOf(long) instead
At DefaultWorkItemManager.java:[line 124]
At DefaultWorkItemManager.java:[line 124]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.process.instance.impl.DefaultWorkItemManager.internalAbortWorkItem(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead


In file DefaultWorkItemManager.java, line 85
In class org.drools.core.process.instance.impl.DefaultWorkItemManager
In method org.drools.core.process.instance.impl.DefaultWorkItemManager.internalAbortWorkItem(long)
Called method new Long(long)
Should call Long.valueOf(long) instead
At DefaultWorkItemManager.java:[line 85]
At DefaultWorkItemManager.java:[line 85]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.process.instance.impl.DefaultWorkItemManager.internalAddWorkItem(WorkItem) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead


In file DefaultWorkItemManager.java, line 77
In class org.drools.core.process.instance.impl.DefaultWorkItemManager
In method org.drools.core.process.instance.impl.DefaultWorkItemManager.internalAddWorkItem(WorkItem)
Called method new Long(long)
Should call Long.valueOf(long) instead
At DefaultWorkItemManager.java:[line 77]
At DefaultWorkItemManager.java:[line 77]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.time.impl.CronExpression.<static initializer for CronExpression>() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead


In file CronExpression.java, line 205
In class org.drools.core.time.impl.CronExpression
In method org.drools.core.time.impl.CronExpression.<static initializer for CronExpression>()
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At CronExpression.java:[line 205]
At CronExpression.java:[line 205]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.time.impl.CronExpression.addToSet(int, int, int, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead


In file CronExpression.java, line 936
In class org.drools.core.time.impl.CronExpression
In method org.drools.core.time.impl.CronExpression.addToSet(int, int, int, int)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At CronExpression.java:[line 936]
At CronExpression.java:[line 936]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.time.impl.CronExpression.checkNext(int, String, int, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead


In file CronExpression.java, line 679
In class org.drools.core.time.impl.CronExpression
In method org.drools.core.time.impl.CronExpression.checkNext(int, String, int, int)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At CronExpression.java:[line 679]
At CronExpression.java:[line 679]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.time.impl.CronExpression.getTimeAfter(Date) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead


In file CronExpression.java, line 1131
In class org.drools.core.time.impl.CronExpression
In method org.drools.core.time.impl.CronExpression.getTimeAfter(Date)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At CronExpression.java:[line 1131]
At CronExpression.java:[line 1131]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.util.KieFunctions.compareTo(Number, String) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead


In file KieFunctions.java, line 135
In class org.drools.core.util.KieFunctions
In method org.drools.core.util.KieFunctions.compareTo(Number, String)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At KieFunctions.java:[line 135]
At KieFunctions.java:[line 135]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.util.KieFunctions.compareTo(Number, String) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead


In file KieFunctions.java, line 137
In class org.drools.core.util.KieFunctions
In method org.drools.core.util.KieFunctions.compareTo(Number, String)
Called method new Long(long)
Should call Long.valueOf(long) instead
At KieFunctions.java:[line 137]
At KieFunctions.java:[line 137]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.util.KieFunctions.compareTo(Number, String) invokes inefficient new Short(short) constructor; use Short.valueOf(short) instead


In file KieFunctions.java, line 133
In class org.drools.core.util.KieFunctions
In method org.drools.core.util.KieFunctions.compareTo(Number, String)
Called method new Short(short)
Should call Short.valueOf(short) instead
At KieFunctions.java:[line 133]
At KieFunctions.java:[line 133]

Method invokes inefficient Number constructor; use static valueOf instead Medium

org.drools.core.xml.ExtensibleXmlParser.buildPrintMessage(SAXParseException) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead


In file ExtensibleXmlParser.java, line 675
In class org.drools.core.xml.ExtensibleXmlParser
In method org.drools.core.xml.ExtensibleXmlParser.buildPrintMessage(SAXParseException)
Called method new Integer(int)
Should call Integer.valueOf(int) instead
At ExtensibleXmlParser.java:[line 675]
At ExtensibleXmlParser.java:[line 675]

Method invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead Medium

org.drools.core.process.core.datatype.impl.type.BooleanDataType.readValue(String) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead


In file BooleanDataType.java, line 48
In class org.drools.core.process.core.datatype.impl.type.BooleanDataType
In method org.drools.core.process.core.datatype.impl.type.BooleanDataType.readValue(String)
At BooleanDataType.java:[line 48]
At BooleanDataType.java:[line 48]

Method concatenates strings using + in a loop Medium

org.drools.core.command.runtime.process.CompleteWorkItemCommand.toString() concatenates strings using + in a loop


In file CompleteWorkItemCommand.java, line 87
In class org.drools.core.command.runtime.process.CompleteWorkItemCommand
In method org.drools.core.command.runtime.process.CompleteWorkItemCommand.toString()
At CompleteWorkItemCommand.java:[line 87]

Method concatenates strings using + in a loop Medium

org.drools.core.command.runtime.process.CreateCorrelatedProcessInstanceCommand.toString() concatenates strings using + in a loop


In file CreateCorrelatedProcessInstanceCommand.java, line 164
In class org.drools.core.command.runtime.process.CreateCorrelatedProcessInstanceCommand
In method org.drools.core.command.runtime.process.CreateCorrelatedProcessInstanceCommand.toString()
At CreateCorrelatedProcessInstanceCommand.java:[line 164]

Method concatenates strings using + in a loop Medium

org.drools.core.command.runtime.process.CreateProcessInstanceCommand.toString() concatenates strings using + in a loop


In file CreateProcessInstanceCommand.java, line 140
In class org.drools.core.command.runtime.process.CreateProcessInstanceCommand
In method org.drools.core.command.runtime.process.CreateProcessInstanceCommand.toString()
At CreateProcessInstanceCommand.java:[line 140]

Method concatenates strings using + in a loop Medium

org.drools.core.command.runtime.process.SetProcessInstanceVariablesCommand.toString() concatenates strings using + in a loop


In file SetProcessInstanceVariablesCommand.java, line 96
In class org.drools.core.command.runtime.process.SetProcessInstanceVariablesCommand
In method org.drools.core.command.runtime.process.SetProcessInstanceVariablesCommand.toString()
At SetProcessInstanceVariablesCommand.java:[line 96]

Method concatenates strings using + in a loop Medium

org.drools.core.command.runtime.process.StartCorrelatedProcessCommand.toString() concatenates strings using + in a loop


In file StartCorrelatedProcessCommand.java, line 162
In class org.drools.core.command.runtime.process.StartCorrelatedProcessCommand
In method org.drools.core.command.runtime.process.StartCorrelatedProcessCommand.toString()
At StartCorrelatedProcessCommand.java:[line 162]

Method concatenates strings using + in a loop Medium

org.drools.core.command.runtime.process.StartProcessCommand.toString() concatenates strings using + in a loop


In file StartProcessCommand.java, line 138
In class org.drools.core.command.runtime.process.StartProcessCommand
In method org.drools.core.command.runtime.process.StartProcessCommand.toString()
At StartProcessCommand.java:[line 138]

Method concatenates strings using + in a loop Medium

org.drools.core.factmodel.DefaultEnumClassBuilder.buildConstructors(ClassWriter, EnumClassDefinition) concatenates strings using + in a loop


In file DefaultEnumClassBuilder.java, line 160
In class org.drools.core.factmodel.DefaultEnumClassBuilder
In method org.drools.core.factmodel.DefaultEnumClassBuilder.buildConstructors(ClassWriter, EnumClassDefinition)
At DefaultEnumClassBuilder.java:[line 160]

Method concatenates strings using + in a loop Medium

org.drools.core.factmodel.traits.AbstractTraitFactory.buildSignature(Method) concatenates strings using + in a loop


In file AbstractTraitFactory.java, line 517
In class org.drools.core.factmodel.traits.AbstractTraitFactory
In method org.drools.core.factmodel.traits.AbstractTraitFactory.buildSignature(Method)
At AbstractTraitFactory.java:[line 517]

Method concatenates strings using + in a loop Medium

org.drools.core.rule.builder.dialect.asm.ClassGenerator.toInteralName(String) concatenates strings using + in a loop


In file ClassGenerator.java, line 270
In class org.drools.core.rule.builder.dialect.asm.ClassGenerator
In method org.drools.core.rule.builder.dialect.asm.ClassGenerator.toInteralName(String)
At ClassGenerator.java:[line 270]

Method concatenates strings using + in a loop Medium

org.drools.core.rule.builder.dialect.asm.ClassGenerator.toTypeDescriptor(String) concatenates strings using + in a loop


In file ClassGenerator.java, line 251
In class org.drools.core.rule.builder.dialect.asm.ClassGenerator
In method org.drools.core.rule.builder.dialect.asm.ClassGenerator.toTypeDescriptor(String)
At ClassGenerator.java:[line 251]

Method concatenates strings using + in a loop Medium

org.drools.core.time.impl.CronExpression.getValue(int, String, int) concatenates strings using + in a loop


In file CronExpression.java, line 1058
In class org.drools.core.time.impl.CronExpression
In method org.drools.core.time.impl.CronExpression.getValue(int, String, int)
At CronExpression.java:[line 1058]

Should be a static inner class Medium

Should org.drools.core.audit.KnowledgeRuntimeLoggerProviderImpl$KnowledgeRuntimeConsoleLoggerWrapper be a _static_ inner class?


In file KnowledgeRuntimeLoggerProviderImpl.java, lines 109 to 115
In class org.drools.core.audit.KnowledgeRuntimeLoggerProviderImpl$KnowledgeRuntimeConsoleLoggerWrapper
At KnowledgeRuntimeLoggerProviderImpl.java:[lines 109-115]

Should be a static inner class Medium

Should org.drools.core.audit.KnowledgeRuntimeLoggerProviderImpl$KnowledgeRuntimeFileLoggerWrapper be a _static_ inner class?


In file KnowledgeRuntimeLoggerProviderImpl.java, lines 77 to 83
In class org.drools.core.audit.KnowledgeRuntimeLoggerProviderImpl$KnowledgeRuntimeFileLoggerWrapper
At KnowledgeRuntimeLoggerProviderImpl.java:[lines 77-83]

Should be a static inner class Medium

Should org.drools.core.audit.KnowledgeRuntimeLoggerProviderImpl$KnowledgeRuntimeThreadedFileLoggerWrapper be a _static_ inner class?


In file KnowledgeRuntimeLoggerProviderImpl.java, lines 93 to 99
In class org.drools.core.audit.KnowledgeRuntimeLoggerProviderImpl$KnowledgeRuntimeThreadedFileLoggerWrapper
At KnowledgeRuntimeLoggerProviderImpl.java:[lines 93-99]

Should be a static inner class Medium

Should org.drools.core.impl.StatefulKnowledgeSessionImpl$EntryPointObjects be a _static_ inner class?


In file StatefulKnowledgeSessionImpl.java, lines 2251 to 2254
In class org.drools.core.impl.StatefulKnowledgeSessionImpl$EntryPointObjects
At StatefulKnowledgeSessionImpl.java:[lines 2251-2254]

Should be a static inner class Medium

Should org.drools.core.rule.LogicTransformer$AndOrTransformation be a _static_ inner class?


In file LogicTransformer.java, lines 432 to 492
In class org.drools.core.rule.LogicTransformer$AndOrTransformation
At LogicTransformer.java:[lines 432-492]

Should be a static inner class Medium

Should org.drools.core.rule.LogicTransformer$ExistOrTransformation be a _static_ inner class?


In file LogicTransformer.java, lines 518 to 541
In class org.drools.core.rule.LogicTransformer$ExistOrTransformation
At LogicTransformer.java:[lines 518-541]

Should be a static inner class Medium

Should org.drools.core.rule.LogicTransformer$NotOrTransformation be a _static_ inner class?


In file LogicTransformer.java, lines 565 to 587
In class org.drools.core.rule.LogicTransformer$NotOrTransformation
At LogicTransformer.java:[lines 565-587]

Should be a static inner class Medium

Should org.drools.core.util.asm.ClassFieldInspector$GetterOverloadWarning be a _static_ inner class?


In file ClassFieldInspector.java, lines 544 to 567
In class org.drools.core.util.asm.ClassFieldInspector$GetterOverloadWarning
At ClassFieldInspector.java:[lines 544-567]

Private method is never called Medium

Private method org.drools.core.reteoo.compiled.ObjectTypeNodeParser.traversePropagator(LeftTupleSinkPropagator, NetworkHandler) is never called


In file ObjectTypeNodeParser.java, lines 90 to 101
In class org.drools.core.reteoo.compiled.ObjectTypeNodeParser
In method org.drools.core.reteoo.compiled.ObjectTypeNodeParser.traversePropagator(LeftTupleSinkPropagator, NetworkHandler)
At ObjectTypeNodeParser.java:[lines 90-101]

Unread field Medium

Unread field: org.drools.core.impl.StatefulKnowledgeSessionImpl$EntryPointObjects.name


In file StatefulKnowledgeSessionImpl.java, line 2252
In class org.drools.core.impl.StatefulKnowledgeSessionImpl$EntryPointObjects
Field org.drools.core.impl.StatefulKnowledgeSessionImpl$EntryPointObjects.name
At StatefulKnowledgeSessionImpl.java:[line 2252]

Unread field Medium

Unread field: org.drools.core.impl.StatefulKnowledgeSessionImpl$EntryPointObjects.objects


In file StatefulKnowledgeSessionImpl.java, line 2253
In class org.drools.core.impl.StatefulKnowledgeSessionImpl$EntryPointObjects
Field org.drools.core.impl.StatefulKnowledgeSessionImpl$EntryPointObjects.objects
At StatefulKnowledgeSessionImpl.java:[line 2253]

Unread field Medium

Unread field: org.drools.core.phreak.AddRemoveRule$Flushed.pathMemory


In file AddRemoveRule.java, line 540
In class org.drools.core.phreak.AddRemoveRule$Flushed
Field org.drools.core.phreak.AddRemoveRule$Flushed.pathMemory
At AddRemoveRule.java:[line 540]

Unread field Medium

Unread field: org.drools.core.phreak.AddRemoveRule$PathEndNodes.subjectSplit


In file AddRemoveRule.java, line 1369
In class org.drools.core.phreak.AddRemoveRule$PathEndNodes
Field org.drools.core.phreak.AddRemoveRule$PathEndNodes.subjectSplit
At AddRemoveRule.java:[line 1369]

Unread field Medium

Unread field: org.drools.core.world.impl.WorldImpl.executionHandler


In file WorldImpl.java, line 39
In class org.drools.core.world.impl.WorldImpl
Field org.drools.core.world.impl.WorldImpl.executionHandler
At WorldImpl.java:[line 39]

Unused field Medium

Unused field: org.drools.core.beliefsystem.defeasible.Join.firstLeft


In file Join.java, lines to
In class org.drools.core.beliefsystem.defeasible.Join
Field org.drools.core.beliefsystem.defeasible.Join.firstLeft
In Join.java

Unused field Medium

Unused field: org.drools.core.beliefsystem.defeasible.Join.firstRight


In file Join.java, lines to
In class org.drools.core.beliefsystem.defeasible.Join
Field org.drools.core.beliefsystem.defeasible.Join.firstRight
In Join.java

Unused field Medium

Unused field: org.drools.core.beliefsystem.defeasible.Join.lastLeft


In file Join.java, lines to
In class org.drools.core.beliefsystem.defeasible.Join
Field org.drools.core.beliefsystem.defeasible.Join.lastLeft
In Join.java

Unused field Medium

Unused field: org.drools.core.beliefsystem.defeasible.Join.lastRight


In file Join.java, lines to
In class org.drools.core.beliefsystem.defeasible.Join
Field org.drools.core.beliefsystem.defeasible.Join.lastRight
In Join.java

Inefficient use of keySet iterator instead of entrySet iterator Medium

org.drools.core.factmodel.AnnotationDefinition.build(Class, Map, TypeResolver) makes inefficient use of keySet iterator instead of entrySet iterator


In file AnnotationDefinition.java, line 114
In class org.drools.core.factmodel.AnnotationDefinition
In method org.drools.core.factmodel.AnnotationDefinition.build(Class, Map, TypeResolver)
At AnnotationDefinition.java:[line 114]
At AnnotationDefinition.java:[line 114]

Inefficient use of keySet iterator instead of entrySet iterator Medium

org.drools.core.factmodel.traits.AbstractTraitFactory.buildClassDefinition(Class, Class) makes inefficient use of keySet iterator instead of entrySet iterator


In file AbstractTraitFactory.java, line 390
In class org.drools.core.factmodel.traits.AbstractTraitFactory
In method org.drools.core.factmodel.traits.AbstractTraitFactory.buildClassDefinition(Class, Class)
At AbstractTraitFactory.java:[line 390]
At AbstractTraitFactory.java:[line 390]

Inefficient use of keySet iterator instead of entrySet iterator Medium

org.drools.core.factmodel.traits.TripleBasedStruct.putAll(Map) makes inefficient use of keySet iterator instead of entrySet iterator


In file TripleBasedStruct.java, line 126
In class org.drools.core.factmodel.traits.TripleBasedStruct
In method org.drools.core.factmodel.traits.TripleBasedStruct.putAll(Map)
At TripleBasedStruct.java:[line 126]
At TripleBasedStruct.java:[line 126]

Inefficient use of keySet iterator instead of entrySet iterator Medium

org.drools.core.factmodel.traits.TripleBasedTypes.putAll(Map) makes inefficient use of keySet iterator instead of entrySet iterator


In file TripleBasedTypes.java, line 124
In class org.drools.core.factmodel.traits.TripleBasedTypes
In method org.drools.core.factmodel.traits.TripleBasedTypes.putAll(Map)
At TripleBasedTypes.java:[line 124]
At TripleBasedTypes.java:[line 124]



Dodgy code Warnings

Warning Priority Details
Dead store to local variable that shadows field High

Dead store to processRuntime rather than field with same name in org.drools.core.impl.StatefulKnowledgeSessionImpl.createProcessRuntime()


In file StatefulKnowledgeSessionImpl.java, line 452
In class org.drools.core.impl.StatefulKnowledgeSessionImpl
In method org.drools.core.impl.StatefulKnowledgeSessionImpl.createProcessRuntime()
Local variable named processRuntime
Did you mean to refer to the field org.drools.core.impl.StatefulKnowledgeSessionImpl.processRuntime?
At StatefulKnowledgeSessionImpl.java:[line 452]
At StatefulKnowledgeSessionImpl.java:[line 452]

Dead store to local variable High

Dead store to nodeTypesInSegment in org.drools.core.phreak.SegmentUtilities.restoreSegmentFromPrototype(InternalWorkingMemory, LeftTupleSource, int)


In file SegmentUtilities.java, line 185
In class org.drools.core.phreak.SegmentUtilities
In method org.drools.core.phreak.SegmentUtilities.restoreSegmentFromPrototype(InternalWorkingMemory, LeftTupleSource, int)
Local variable named nodeTypesInSegment
At SegmentUtilities.java:[line 185]
At SegmentUtilities.java:[line 185]

Dead store to local variable High

Dead store to outs in org.drools.core.runtime.help.impl.XStreamXML$QueryConverter.unmarshal(HierarchicalStreamReader, UnmarshallingContext)


In file XStreamXML.java, line 588
In class org.drools.core.runtime.help.impl.XStreamXML$QueryConverter
In method org.drools.core.runtime.help.impl.XStreamXML$QueryConverter.unmarshal(HierarchicalStreamReader, UnmarshallingContext)
Local variable named outs
At XStreamXML.java:[line 588]
At XStreamXML.java:[line 588]

Dead store to local variable High

Dead store to toBeRemoved in org.drools.core.util.index.TupleIndexRBTree.toArray()


In file TupleIndexRBTree.java, line 109
In class org.drools.core.util.index.TupleIndexRBTree
In method org.drools.core.util.index.TupleIndexRBTree.toArray()
Local variable named toBeRemoved
At TupleIndexRBTree.java:[line 109]
At TupleIndexRBTree.java:[line 109]

Non serializable object written to ObjectOutput High

Non serializable com.sun.tools.xjc.Options written to ObjectOutput in org.drools.core.builder.conf.impl.JaxbConfigurationImpl.toByteArray()


In file JaxbConfigurationImpl.java, line 85
In class org.drools.core.builder.conf.impl.JaxbConfigurationImpl
In method org.drools.core.builder.conf.impl.JaxbConfigurationImpl.toByteArray()
Actual type com.sun.tools.xjc.Options
At JaxbConfigurationImpl.java:[line 85]
At JaxbConfigurationImpl.java:[line 85]

Non serializable object written to ObjectOutput High

Non serializable org.drools.core.reteoo.PropagationQueuingNode$PropagateAction written to ObjectOutput in org.drools.core.reteoo.PropagationQueuingNode.writeExternal(ObjectOutput)


In file PropagationQueuingNode.java, line 96
In class org.drools.core.reteoo.PropagationQueuingNode
In method org.drools.core.reteoo.PropagationQueuingNode.writeExternal(ObjectOutput)
Actual type org.drools.core.reteoo.PropagationQueuingNode$PropagateAction
At PropagationQueuingNode.java:[line 96]
At PropagationQueuingNode.java:[line 96]

Non serializable object written to ObjectOutput High

Non serializable org.drools.core.common.EventFactHandle written to ObjectOutput in org.drools.core.rule.SlidingLengthWindow$SlidingLengthWindowContext.writeExternal(ObjectOutput)


In file SlidingLengthWindow.java, line 178
In class org.drools.core.rule.SlidingLengthWindow$SlidingLengthWindowContext
In method org.drools.core.rule.SlidingLengthWindow$SlidingLengthWindowContext.writeExternal(ObjectOutput)
Actual type org.drools.core.common.EventFactHandle
At SlidingLengthWindow.java:[line 178]
At SlidingLengthWindow.java:[line 178]

Non serializable object written to ObjectOutput High

Non serializable org.drools.core.common.EventFactHandle written to ObjectOutput in org.drools.core.rule.SlidingTimeWindow$SlidingTimeWindowContext.writeExternal(ObjectOutput)


In file SlidingTimeWindow.java, line 246
In class org.drools.core.rule.SlidingTimeWindow$SlidingTimeWindowContext
In method org.drools.core.rule.SlidingTimeWindow$SlidingTimeWindowContext.writeExternal(ObjectOutput)
Actual type org.drools.core.common.EventFactHandle
At SlidingTimeWindow.java:[line 246]
At SlidingTimeWindow.java:[line 246]

Non serializable object written to ObjectOutput High

Non serializable org.drools.core.util.TupleRBTree<java.lang.Comparable<java.lang.Comparable>> written to ObjectOutput in org.drools.core.util.index.TupleIndexRBTree.writeExternal(ObjectOutput)


In file TupleIndexRBTree.java, line 59
In class org.drools.core.util.index.TupleIndexRBTree
In method org.drools.core.util.index.TupleIndexRBTree.writeExternal(ObjectOutput)
Actual type org.drools.core.util.TupleRBTree<java.lang.Comparable<java.lang.Comparable>>
At TupleIndexRBTree.java:[line 59]
At TupleIndexRBTree.java:[line 59]

Private readResolve method not inherited by subclasses High

Private readResolve method in org.drools.core.base.ValueType not inherited by subclasses.


In file ValueType.java, line 163
In class org.drools.core.base.ValueType
In method org.drools.core.base.ValueType.readResolve()
has subclass org.drools.core.base.ValueType$BigDecimalValueType
has subclass org.drools.core.base.ValueType$BigIntegerValueType
has subclass org.drools.core.base.ValueType$StringValueType
At ValueType.java:[line 163]

Write to static field from instance method High

Write to static field org.drools.core.common.InstanceNotEqualsConstraint.declarations from instance method org.drools.core.common.InstanceNotEqualsConstraint.readExternal(ObjectInput)


In file InstanceNotEqualsConstraint.java, line 50
In class org.drools.core.common.InstanceNotEqualsConstraint
In method org.drools.core.common.InstanceNotEqualsConstraint.readExternal(ObjectInput)
Field org.drools.core.common.InstanceNotEqualsConstraint.declarations
At InstanceNotEqualsConstraint.java:[line 50]
At InstanceNotEqualsConstraint.java:[line 50]

Condition has no effect High

Useless condition: it's known that elements.length > 6 at this point


In file DisconnectedFactHandle.java, line 148
In class org.drools.core.common.DisconnectedFactHandle
In method org.drools.core.common.DisconnectedFactHandle.parseExternalForm(String)
Value elements.length > 6
Unreachable code at DisconnectedFactHandle.java:[line 148]
At DisconnectedFactHandle.java:[line 148]
At DisconnectedFactHandle.java:[line 148]

Condition has no effect High

Useless condition: it's known that this.multithread == false at this point


In file RuleBaseConfiguration.java, line 726
In class org.drools.core.RuleBaseConfiguration
In method org.drools.core.RuleBaseConfiguration.setMultithreadEvaluation(boolean)
Value this.multithread == false
Unreachable code at RuleBaseConfiguration.java:[line 726]
At RuleBaseConfiguration.java:[line 726]
At RuleBaseConfiguration.java:[line 726]

Unchecked/unconfirmed cast Medium

Unchecked/unconfirmed cast from org.mvel2.ast.ASTNode to org.mvel2.ast.WithNode in org.drools.core.base.ModifyInterceptor.doAfter(Object, ASTNode, VariableResolverFactory)


In file ModifyInterceptor.java, line 84
In class org.drools.core.base.ModifyInterceptor
In method org.drools.core.base.ModifyInterceptor.doAfter(Object, ASTNode, VariableResolverFactory)
Actual type org.mvel2.ast.ASTNode
Expected org.mvel2.ast.WithNode
Value loaded from node
At ModifyInterceptor.java:[line 84]
At ModifyInterceptor.java:[line 84]

instanceof will always return true Medium

instanceof will always return true for all non-null values in org.drools.core.impl.StatefulKnowledgeSessionImpl.getActivationParameters(Tuple), since all org.drools.core.common.InternalFactHandle are instances of org.drools.core.common.InternalFactHandle


In file StatefulKnowledgeSessionImpl.java, line 2290
In class org.drools.core.impl.StatefulKnowledgeSessionImpl
In method org.drools.core.impl.StatefulKnowledgeSessionImpl.getActivationParameters(Tuple)
Actual type org.drools.core.common.InternalFactHandle
Expected org.drools.core.common.InternalFactHandle
At StatefulKnowledgeSessionImpl.java:[line 2290]
At StatefulKnowledgeSessionImpl.java:[line 2290]

Unchecked/unconfirmed cast Medium

Unchecked/unconfirmed cast from org.drools.core.definitions.rule.impl.RuleImpl to org.drools.core.rule.QueryImpl in new org.drools.core.reteoo.QueryTerminalNode(int, LeftTupleSource, RuleImpl, GroupElement, int, BuildContext)


In file QueryTerminalNode.java, line 87
In class org.drools.core.reteoo.QueryTerminalNode
In method new org.drools.core.reteoo.QueryTerminalNode(int, LeftTupleSource, RuleImpl, GroupElement, int, BuildContext)
Actual type org.drools.core.definitions.rule.impl.RuleImpl
Expected org.drools.core.rule.QueryImpl
Value loaded from rule
At QueryTerminalNode.java:[line 87]
At QueryTerminalNode.java:[line 87]

Dead store to local variable Medium

Dead store to handle in org.drools.core.base.TraitHelper.insertLogical(Activation, Object, Mode[])


In file TraitHelper.java, line 632
In class org.drools.core.base.TraitHelper
In method org.drools.core.base.TraitHelper.insertLogical(Activation, Object, Mode[])
Local variable named handle
At TraitHelper.java:[line 632]
At TraitHelper.java:[line 632]

Dead store to local variable Medium

Dead store to handle in org.drools.core.base.TraitHelper.makeTraitable(Object, TraitFactory, boolean, Activation)


In file TraitHelper.java, line 481
In class org.drools.core.base.TraitHelper
In method org.drools.core.base.TraitHelper.makeTraitable(Object, TraitFactory, boolean, Activation)
Local variable named handle
At TraitHelper.java:[line 481]
At TraitHelper.java:[line 481]

Dead store to local variable Medium

Dead store to handle in org.drools.core.base.TraitHelper.updateCore(TraitableBean, Object, Class, boolean, Activation)


In file TraitHelper.java, line 310
In class org.drools.core.base.TraitHelper
In method org.drools.core.base.TraitHelper.updateCore(TraitableBean, Object, Class, boolean, Activation)
Local variable named handle
At TraitHelper.java:[line 310]
At TraitHelper.java:[line 310]

Dead store to local variable Medium

Dead store to sBeliefSet in org.drools.core.beliefsystem.simple.SimpleBeliefSystem.delete(SimpleMode, RuleImpl, Activation, Object, BeliefSet, PropagationContext)


In file SimpleBeliefSystem.java, line 119
In class org.drools.core.beliefsystem.simple.SimpleBeliefSystem
In method org.drools.core.beliefsystem.simple.SimpleBeliefSystem.delete(SimpleMode, RuleImpl, Activation, Object, BeliefSet, PropagationContext)
Local variable named sBeliefSet
At SimpleBeliefSystem.java:[line 119]
At SimpleBeliefSystem.java:[line 119]

Dead store to local variable Medium

Dead store to hasObjects in org.drools.core.factmodel.DefaultBeanClassBuilder.buildDefaultConstructor(ClassVisitor, ClassDefinition)


In file DefaultBeanClassBuilder.java, line 867
In class org.drools.core.factmodel.DefaultBeanClassBuilder
In method org.drools.core.factmodel.DefaultBeanClassBuilder.buildDefaultConstructor(ClassVisitor, ClassDefinition)
Local variable named hasObjects
At DefaultBeanClassBuilder.java:[line 867]
At DefaultBeanClassBuilder.java:[line 867]

Dead store to local variable Medium

Dead store to wrapperClass in org.drools.core.factmodel.traits.AbstractTraitFactory.buildProxyClass(String, TraitableBean, Class)


In file AbstractTraitFactory.java, line 279
In class org.drools.core.factmodel.traits.AbstractTraitFactory
In method org.drools.core.factmodel.traits.AbstractTraitFactory.buildProxyClass(String, TraitableBean, Class)
Local variable named wrapperClass
At AbstractTraitFactory.java:[line 279]
At AbstractTraitFactory.java:[line 279]

Dead store to local variable Medium

Dead store to fieldName in org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl.buildHardGetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)


In file TraitMapProxyClassBuilderImpl.java, line 622
In class org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl.buildHardGetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)
Local variable named fieldName
At TraitMapProxyClassBuilderImpl.java:[line 622]
At TraitMapProxyClassBuilderImpl.java:[line 622]

Dead store to local variable Medium

Dead store to fieldName in org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl.buildSoftGetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)


In file TraitMapProxyClassBuilderImpl.java, line 771
In class org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl.buildSoftGetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)
Local variable named fieldName
At TraitMapProxyClassBuilderImpl.java:[line 771]
At TraitMapProxyClassBuilderImpl.java:[line 771]

Dead store to local variable Medium

Dead store to fieldName in org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl.buildSoftSetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)


In file TraitMapProxyClassBuilderImpl.java, line 732
In class org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitMapProxyClassBuilderImpl.buildSoftSetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)
Local variable named fieldName
At TraitMapProxyClassBuilderImpl.java:[line 732]
At TraitMapProxyClassBuilderImpl.java:[line 732]

Dead store to local variable Medium

Dead store to internalCore in org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl.buildClass(ClassDefinition, ClassLoader)


In file TraitTriplePropertyWrapperClassBuilderImpl.java, line 88
In class org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl.buildClass(ClassDefinition, ClassLoader)
Local variable named internalCore
At TraitTriplePropertyWrapperClassBuilderImpl.java:[line 88]
At TraitTriplePropertyWrapperClassBuilderImpl.java:[line 88]

Dead store to local variable Medium

Dead store to masterName in org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl.buildClass(ClassDefinition, ClassLoader)


In file TraitTriplePropertyWrapperClassBuilderImpl.java, line 83
In class org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl.buildClass(ClassDefinition, ClassLoader)
Local variable named masterName
At TraitTriplePropertyWrapperClassBuilderImpl.java:[line 83]
At TraitTriplePropertyWrapperClassBuilderImpl.java:[line 83]

Dead store to local variable Medium

Dead store to N in org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl.buildContainsValue(ClassWriter, String, String, ClassDefinition, ClassDefinition, BitSet)


In file TraitTriplePropertyWrapperClassBuilderImpl.java, line 562
In class org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl.buildContainsValue(ClassWriter, String, String, ClassDefinition, ClassDefinition, BitSet)
Local variable named N
At TraitTriplePropertyWrapperClassBuilderImpl.java:[line 562]
At TraitTriplePropertyWrapperClassBuilderImpl.java:[line 562]

Dead store to local variable Medium

Dead store to stackSize in org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl.buildInitSoftFields(ClassWriter, String, ClassDefinition, ClassDefinition, BitSet)


In file TraitTriplePropertyWrapperClassBuilderImpl.java, line 342
In class org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitTriplePropertyWrapperClassBuilderImpl.buildInitSoftFields(ClassWriter, String, ClassDefinition, ClassDefinition, BitSet)
Local variable named stackSize
At TraitTriplePropertyWrapperClassBuilderImpl.java:[line 342]
At TraitTriplePropertyWrapperClassBuilderImpl.java:[line 342]

Dead store to local variable Medium

Dead store to fieldType in org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl.buildHardSetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)


In file TraitTripleProxyClassBuilderImpl.java, line 842
In class org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl.buildHardSetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)
Local variable named fieldType
At TraitTripleProxyClassBuilderImpl.java:[line 842]
At TraitTripleProxyClassBuilderImpl.java:[line 842]

Dead store to local variable Medium

Dead store to fieldName in org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl.buildSoftGetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)


In file TraitTripleProxyClassBuilderImpl.java, line 961
In class org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl.buildSoftGetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)
Local variable named fieldName
At TraitTripleProxyClassBuilderImpl.java:[line 961]
At TraitTripleProxyClassBuilderImpl.java:[line 961]

Dead store to local variable Medium

Dead store to fieldName in org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl.buildSoftSetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)


In file TraitTripleProxyClassBuilderImpl.java, line 921
In class org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitTripleProxyClassBuilderImpl.buildSoftSetter(ClassVisitor, FieldDefinition, String, ClassDefinition, ClassDefinition, String, boolean)
Local variable named fieldName
At TraitTripleProxyClassBuilderImpl.java:[line 921]
At TraitTripleProxyClassBuilderImpl.java:[line 921]

Dead store to local variable Medium

Dead store to classLoaderCacheEnabled in org.drools.core.impl.KnowledgeBaseImpl.readExternal(ObjectInput)


In file KnowledgeBaseImpl.java, line 438
In class org.drools.core.impl.KnowledgeBaseImpl
In method org.drools.core.impl.KnowledgeBaseImpl.readExternal(ObjectInput)
Local variable named classLoaderCacheEnabled
At KnowledgeBaseImpl.java:[line 438]
At KnowledgeBaseImpl.java:[line 438]

Dead store to local variable Medium

Dead store to conf in org.drools.core.marshalling.impl.ProtobufMarshaller.unmarshall(InputStream, KieSessionConfiguration, Environment)


In file ProtobufMarshaller.java, line 114
In class org.drools.core.marshalling.impl.ProtobufMarshaller
In method org.drools.core.marshalling.impl.ProtobufMarshaller.unmarshall(InputStream, KieSessionConfiguration, Environment)
Local variable named conf
At ProtobufMarshaller.java:[line 114]
At ProtobufMarshaller.java:[line 114]

Dead store to local variable Medium

Dead store to lian in org.drools.core.phreak.PhreakTimerNode.evaluate(PathMemory, InternalWorkingMemory, LeftTupleSink, TimerNode$TimerNodeMemory, TupleSets)


In file PhreakTimerNode.java, line 454
In class org.drools.core.phreak.PhreakTimerNode
In method org.drools.core.phreak.PhreakTimerNode.evaluate(PathMemory, InternalWorkingMemory, LeftTupleSink, TimerNode$TimerNodeMemory, TupleSets)
Local variable named lian
At PhreakTimerNode.java:[line 454]
At PhreakTimerNode.java:[line 454]

Dead store to local variable Medium

Dead store to nodeTypesInSegment in org.drools.core.phreak.SegmentUtilities.createSegmentMemory(LeftTupleSource, InternalWorkingMemory)


In file SegmentUtilities.java, line 171
In class org.drools.core.phreak.SegmentUtilities
In method org.drools.core.phreak.SegmentUtilities.createSegmentMemory(LeftTupleSource, InternalWorkingMemory)
Local variable named nodeTypesInSegment
At SegmentUtilities.java:[line 171]
At SegmentUtilities.java:[line 171]

Dead store to local variable Medium

Dead store to resultPattern in org.drools.core.reteoo.builder.CollectBuilder.build(BuildContext, BuildUtils, RuleConditionElement)


In file CollectBuilder.java, line 55
In class org.drools.core.reteoo.builder.CollectBuilder
In method org.drools.core.reteoo.builder.CollectBuilder.build(BuildContext, BuildUtils, RuleConditionElement)
Local variable named resultPattern
At CollectBuilder.java:[line 55]
At CollectBuilder.java:[line 55]

Dead store to local variable Medium

Dead store to rightParent in org.drools.core.reteoo.CompositeLeftTupleSinkAdapter.propagateRetractLeftTupleDestroyRightTuple(LeftTuple, PropagationContext, InternalWorkingMemory)


In file CompositeLeftTupleSinkAdapter.java, line 141
In class org.drools.core.reteoo.CompositeLeftTupleSinkAdapter
In method org.drools.core.reteoo.CompositeLeftTupleSinkAdapter.propagateRetractLeftTupleDestroyRightTuple(LeftTuple, PropagationContext, InternalWorkingMemory)
Local variable named rightParent
At CompositeLeftTupleSinkAdapter.java:[line 141]
At CompositeLeftTupleSinkAdapter.java:[line 141]

Dead store to local variable Medium

Dead store to ent in org.drools.core.rule.DynamicFact.entrySet()


In file DynamicFact.java, line 60
In class org.drools.core.rule.DynamicFact
In method org.drools.core.rule.DynamicFact.entrySet()
Local variable named ent
At DynamicFact.java:[line 60]
At DynamicFact.java:[line 60]

Dead store to local variable Medium

Dead store to i in org.drools.core.rule.SlidingTimeWindow$BehaviorJobContextTimerInputMarshaller.deserialize(MarshallerReaderContext, ProtobufMessages$Timers$Timer)


In file SlidingTimeWindow.java, line 352
In class org.drools.core.rule.SlidingTimeWindow$BehaviorJobContextTimerInputMarshaller
In method org.drools.core.rule.SlidingTimeWindow$BehaviorJobContextTimerInputMarshaller.deserialize(MarshallerReaderContext, ProtobufMessages$Timers$Timer)
Local variable named i
At SlidingTimeWindow.java:[line 352]
At SlidingTimeWindow.java:[line 352]

Dead store to local variable Medium

Dead store to behaviorContext in org.drools.core.rule.SlidingTimeWindow$BehaviorJobContextTimerInputMarshaller.read(MarshallerReaderContext)


In file SlidingTimeWindow.java, line 338
In class org.drools.core.rule.SlidingTimeWindow$BehaviorJobContextTimerInputMarshaller
In method org.drools.core.rule.SlidingTimeWindow$BehaviorJobContextTimerInputMarshaller.read(MarshallerReaderContext)
Local variable named behaviorContext
At SlidingTimeWindow.java:[line 338]
At SlidingTimeWindow.java:[line 338]

Dead store to local variable Medium

Dead store to i in org.drools.core.rule.SlidingTimeWindow$BehaviorJobContextTimerInputMarshaller.read(MarshallerReaderContext)


In file SlidingTimeWindow.java, line 340
In class org.drools.core.rule.SlidingTimeWindow$BehaviorJobContextTimerInputMarshaller
In method org.drools.core.rule.SlidingTimeWindow$BehaviorJobContextTimerInputMarshaller.read(MarshallerReaderContext)
Local variable named i
At SlidingTimeWindow.java:[line 340]
At SlidingTimeWindow.java:[line 340]

Dead store to local variable Medium

Dead store to cmd in org.drools.core.runtime.help.impl.XStreamXML$ClearAgendaConverter.marshal(Object, HierarchicalStreamWriter, MarshallingContext)


In file XStreamXML.java, line 1141
In class org.drools.core.runtime.help.impl.XStreamXML$ClearAgendaConverter
In method org.drools.core.runtime.help.impl.XStreamXML$ClearAgendaConverter.marshal(Object, HierarchicalStreamWriter, MarshallingContext)
Local variable named cmd
At XStreamXML.java:[line 1141]
At XStreamXML.java:[line 1141]

Dead store to local variable Medium

Dead store to endDeclarations in org.drools.core.time.impl.ExpressionIntervalTimer.createTrigger(long, Tuple, DefaultJobHandle, String[], Calendars, Declaration[][], InternalWorkingMemory)


In file ExpressionIntervalTimer.java, line 140
In class org.drools.core.time.impl.ExpressionIntervalTimer
In method org.drools.core.time.impl.ExpressionIntervalTimer.createTrigger(long, Tuple, DefaultJobHandle, String[], Calendars, Declaration[][], InternalWorkingMemory)
Local variable named endDeclarations
At ExpressionIntervalTimer.java:[line 140]
At ExpressionIntervalTimer.java:[line 140]

Dead store to local variable Medium

Dead store to an in org.drools.core.util.debug.LeftInputAdapterNodeVisitor.doVisit(NetworkNode, Stack, StatefulKnowledgeSessionInfo)


In file LeftInputAdapterNodeVisitor.java, line 35
In class org.drools.core.util.debug.LeftInputAdapterNodeVisitor
In method org.drools.core.util.debug.LeftInputAdapterNodeVisitor.doVisit(NetworkNode, Stack, StatefulKnowledgeSessionInfo)
Local variable named an
At LeftInputAdapterNodeVisitor.java:[line 35]
At LeftInputAdapterNodeVisitor.java:[line 35]

Dead store to local variable Medium

Dead store to inDex in org.drools.core.util.HierarchyEncoderImpl.modify(HierNode, HierNode)


In file HierarchyEncoderImpl.java, line 254
In class org.drools.core.util.HierarchyEncoderImpl
In method org.drools.core.util.HierarchyEncoderImpl.modify(HierNode, HierNode)
Local variable named inDex
At HierarchyEncoderImpl.java:[line 254]
At HierarchyEncoderImpl.java:[line 254]

Dead store to local variable Medium

Dead store to upperNearest in org.drools.core.util.TupleRBTree.rangeLowerBounded(Comparable, boolean)


In file TupleRBTree.java, line 228
In class org.drools.core.util.TupleRBTree
In method org.drools.core.util.TupleRBTree.rangeLowerBounded(Comparable, boolean)
Local variable named upperNearest
At TupleRBTree.java:[line 228]
At TupleRBTree.java:[line 228]

Dead store to local variable Medium

Dead store to upperNearest in org.drools.core.util.TupleRBTree.rangeUperBounded(Comparable, boolean)


In file TupleRBTree.java, line 223
In class org.drools.core.util.TupleRBTree
In method org.drools.core.util.TupleRBTree.rangeUperBounded(Comparable, boolean)
Local variable named upperNearest
At TupleRBTree.java:[line 223]
At TupleRBTree.java:[line 223]

Dead store to local variable Medium

Dead store to element in org.drools.core.xml.changeset.AddHandler.end(String, String, ExtensibleXmlParser)


In file AddHandler.java, line 64
In class org.drools.core.xml.changeset.AddHandler
In method org.drools.core.xml.changeset.AddHandler.end(String, String, ExtensibleXmlParser)
Local variable named element
At AddHandler.java:[line 64]
At AddHandler.java:[line 64]

Dead store to local variable Medium

Dead store to changeSet in org.drools.core.xml.changeset.AddHandler.start(String, String, Attributes, ExtensibleXmlParser)


In file AddHandler.java, line 56
In class org.drools.core.xml.changeset.AddHandler
In method org.drools.core.xml.changeset.AddHandler.start(String, String, Attributes, ExtensibleXmlParser)
Local variable named changeSet
At AddHandler.java:[line 56]
At AddHandler.java:[line 56]

Dead store to local variable Medium

Dead store to element in org.drools.core.xml.changeset.ChangeSetHandler.end(String, String, ExtensibleXmlParser)


In file ChangeSetHandler.java, line 61
In class org.drools.core.xml.changeset.ChangeSetHandler
In method org.drools.core.xml.changeset.ChangeSetHandler.end(String, String, ExtensibleXmlParser)
Local variable named element
At ChangeSetHandler.java:[line 61]
At ChangeSetHandler.java:[line 61]

Dead store to local variable Medium

Dead store to element in org.drools.core.xml.changeset.DecisionTableConfigurationHandler.end(String, String, ExtensibleXmlParser)


In file DecisionTableConfigurationHandler.java, line 78
In class org.drools.core.xml.changeset.DecisionTableConfigurationHandler
In method org.drools.core.xml.changeset.DecisionTableConfigurationHandler.end(String, String, ExtensibleXmlParser)
Local variable named element
At DecisionTableConfigurationHandler.java:[line 78]
At DecisionTableConfigurationHandler.java:[line 78]

Dead store to local variable Medium

Dead store to element in org.drools.core.xml.changeset.DefinitionHandler.end(String, String, ExtensibleXmlParser)


In file DefinitionHandler.java, line 95
In class org.drools.core.xml.changeset.DefinitionHandler
In method org.drools.core.xml.changeset.DefinitionHandler.end(String, String, ExtensibleXmlParser)
Local variable named element
At DefinitionHandler.java:[line 95]
At DefinitionHandler.java:[line 95]

Dead store to local variable Medium

Dead store to element in org.drools.core.xml.changeset.ModifyHandler.end(String, String, ExtensibleXmlParser)


In file ModifyHandler.java, line 64
In class org.drools.core.xml.changeset.ModifyHandler
In method org.drools.core.xml.changeset.ModifyHandler.end(String, String, ExtensibleXmlParser)
Local variable named element
At ModifyHandler.java:[line 64]
At ModifyHandler.java:[line 64]

Dead store to local variable Medium

Dead store to changeSet in org.drools.core.xml.changeset.ModifyHandler.start(String, String, Attributes, ExtensibleXmlParser)


In file ModifyHandler.java, line 56
In class org.drools.core.xml.changeset.ModifyHandler
In method org.drools.core.xml.changeset.ModifyHandler.start(String, String, Attributes, ExtensibleXmlParser)
Local variable named changeSet
At ModifyHandler.java:[line 56]
At ModifyHandler.java:[line 56]

Dead store to local variable Medium

Dead store to element in org.drools.core.xml.changeset.RemoveHandler.end(String, String, ExtensibleXmlParser)


In file RemoveHandler.java, line 65
In class org.drools.core.xml.changeset.RemoveHandler
In method org.drools.core.xml.changeset.RemoveHandler.end(String, String, ExtensibleXmlParser)
Local variable named element
At RemoveHandler.java:[line 65]
At RemoveHandler.java:[line 65]

Dead store to local variable Medium

Dead store to changeSet in org.drools.core.xml.changeset.RemoveHandler.start(String, String, Attributes, ExtensibleXmlParser)


In file RemoveHandler.java, line 57
In class org.drools.core.xml.changeset.RemoveHandler
In method org.drools.core.xml.changeset.RemoveHandler.start(String, String, Attributes, ExtensibleXmlParser)
Local variable named changeSet
At RemoveHandler.java:[line 57]
At RemoveHandler.java:[line 57]

Dead store to local variable Medium

Dead store to element in org.drools.core.xml.changeset.ResourceHandler.end(String, String, ExtensibleXmlParser)


In file ResourceHandler.java, line 104
In class org.drools.core.xml.changeset.ResourceHandler
In method org.drools.core.xml.changeset.ResourceHandler.end(String, String, ExtensibleXmlParser)
Local variable named element
At ResourceHandler.java:[line 104]
At ResourceHandler.java:[line 104]

Dead store to local variable Medium

Dead store to collection in org.drools.core.xml.changeset.ResourceHandler.start(String, String, Attributes, ExtensibleXmlParser)


In file ResourceHandler.java, line 59
In class org.drools.core.xml.changeset.ResourceHandler
In method org.drools.core.xml.changeset.ResourceHandler.start(String, String, Attributes, ExtensibleXmlParser)
Local variable named collection
At ResourceHandler.java:[line 59]
At ResourceHandler.java:[line 59]

Dead store to local variable Medium

Dead store to isValidatingString in org.drools.core.xml.ExtensibleXmlParser.read(InputSource)


In file ExtensibleXmlParser.java, line 275
In class org.drools.core.xml.ExtensibleXmlParser
In method org.drools.core.xml.ExtensibleXmlParser.read(InputSource)
Local variable named isValidatingString
At ExtensibleXmlParser.java:[line 275]
At ExtensibleXmlParser.java:[line 275]

Non serializable object written to ObjectOutput Medium

Non serializable org.drools.core.audit.event.LogEvent written to ObjectOutput in org.drools.core.audit.WorkingMemoryFileLogger.writeExternal(ObjectOutput)


In file WorkingMemoryFileLogger.java, line 91
In class org.drools.core.audit.WorkingMemoryFileLogger
In method org.drools.core.audit.WorkingMemoryFileLogger.writeExternal(ObjectOutput)
Actual type org.drools.core.audit.event.LogEvent
At WorkingMemoryFileLogger.java:[line 91]
At WorkingMemoryFileLogger.java:[line 91]

Non serializable object written to ObjectOutput Medium

Non serializable org.drools.core.audit.event.LogEvent written to ObjectOutput in org.drools.core.audit.WorkingMemoryInMemoryLogger.getEvents()


In file WorkingMemoryInMemoryLogger.java, line 69
In class org.drools.core.audit.WorkingMemoryInMemoryLogger
In method org.drools.core.audit.WorkingMemoryInMemoryLogger.getEvents()
Actual type org.drools.core.audit.event.LogEvent
At WorkingMemoryInMemoryLogger.java:[line 69]
At WorkingMemoryInMemoryLogger.java:[line 69]

Non serializable object written to ObjectOutput Medium

Non serializable org.drools.core.audit.event.LogEvent written to ObjectOutput in org.drools.core.audit.WorkingMemoryInMemoryLogger.writeExternal(ObjectOutput)


In file WorkingMemoryInMemoryLogger.java, line 61
In class org.drools.core.audit.WorkingMemoryInMemoryLogger
In method org.drools.core.audit.WorkingMemoryInMemoryLogger.writeExternal(ObjectOutput)
Actual type org.drools.core.audit.event.LogEvent
At WorkingMemoryInMemoryLogger.java:[line 61]
At WorkingMemoryInMemoryLogger.java:[line 61]

Non serializable object written to ObjectOutput Medium

Non serializable org.drools.core.audit.event.ILogEventFilter written to ObjectOutput in org.drools.core.audit.WorkingMemoryLogger.writeExternal(ObjectOutput)


In file WorkingMemoryLogger.java, line 179
In class org.drools.core.audit.WorkingMemoryLogger
In method org.drools.core.audit.WorkingMemoryLogger.writeExternal(ObjectOutput)
Actual type org.drools.core.audit.event.ILogEventFilter
At WorkingMemoryLogger.java:[line 179]
At WorkingMemoryLogger.java:[line 179]

Non serializable object written to ObjectOutput Medium

Non serializable org.kie.api.time.Calendar written to ObjectOutput in org.drools.core.base.CalendarsImpl.writeExternal(ObjectOutput)


In file CalendarsImpl.java, line 48
In class org.drools.core.base.CalendarsImpl
In method org.drools.core.base.CalendarsImpl.writeExternal(ObjectOutput)
Actual type org.kie.api.time.Calendar
At CalendarsImpl.java:[line 48]
At CalendarsImpl.java:[line 48]

Non serializable object written to ObjectOutput Medium

Non serializable org.drools.core.common.InternalAgendaGroup written to ObjectOutput in org.drools.core.common.DefaultAgenda.writeExternal(ObjectOutput)


In file DefaultAgenda.java, line 211
In class org.drools.core.common.DefaultAgenda
In method org.drools.core.common.DefaultAgenda.writeExternal(ObjectOutput)
Actual type org.drools.core.common.InternalAgendaGroup
At DefaultAgenda.java:[line 211]
At DefaultAgenda.java:[line 211]

Non serializable object written to ObjectOutput Medium

Non serializable org.drools.core.spi.AgendaGroup written to ObjectOutput in org.drools.core.common.DefaultAgenda.writeExternal(ObjectOutput)


In file DefaultAgenda.java, line 213
In class org.drools.core.common.DefaultAgenda
In method org.drools.core.common.DefaultAgenda.writeExternal(ObjectOutput)
Actual type org.drools.core.spi.AgendaGroup
At DefaultAgenda.java:[line 213]
At DefaultAgenda.java:[line 213]

Non serializable object written to ObjectOutput Medium

Non serializable org.drools.core.spi.ConsequenceExceptionHandler written to ObjectOutput in org.drools.core.common.DefaultAgenda.writeExternal(ObjectOutput)


In file DefaultAgenda.java, line 217
In class org.drools.core.common.DefaultAgenda
In method org.drools.core.common.DefaultAgenda.writeExternal(ObjectOutput)
Actual type org.drools.core.spi.ConsequenceExceptionHandler
At DefaultAgenda.java:[line 217]
At DefaultAgenda.java:[line 217]

Non serializable object written to ObjectOutput Medium

Non serializable org.drools.core.spi.InternalActivationGroup written to ObjectOutput in org.drools.core.common.DefaultAgenda.writeExternal(ObjectOutput)


In file DefaultAgenda.java, line 212
In class org.drools.core.common.DefaultAgenda
In method org.drools.core.common.DefaultAgenda.writeExternal(ObjectOutput)
Actual type org.drools.core.spi.InternalActivationGroup
At DefaultAgenda.java:[line 212]
At DefaultAgenda.java:[line 212]

Non serializable object written to ObjectOutput Medium

Non serializable reflect.Constructor written to ObjectOutput in org.drools.core.factmodel.traits.AbstractTraitFactory.writeExternal(ObjectOutput)


In file AbstractTraitFactory.java, line 101
In class org.drools.core.factmodel.traits.AbstractTraitFactory
In method org.drools.core.factmodel.traits.AbstractTraitFactory.writeExternal(ObjectOutput)
Actual type reflect.Constructor
At AbstractTraitFactory.java:[line 101]
At AbstractTraitFactory.java:[line 101]

Non serializable object written to ObjectOutput Medium

Non serializable org.kie.api.definition.KieDescr written to ObjectOutput in org.drools.core.io.impl.DescrResource.writeExternal(ObjectOutput)


In file DescrResource.java, line 59
In class org.drools.core.io.impl.DescrResource
In method org.drools.core.io.impl.DescrResource.writeExternal(ObjectOutput)
Actual type org.kie.api.definition.KieDescr
At DescrResource.java:[line 59]
At DescrResource.java:[line 59]

Non serializable object written to ObjectOutput Medium

Non serializable org.kie.api.runtime.process.WorkItemHandler written to ObjectOutput in org.drools.core.process.instance.impl.DefaultWorkItemManager.writeExternal(ObjectOutput)


In file DefaultWorkItemManager.java, line 63
In class org.drools.core.process.instance.impl.DefaultWorkItemManager
In method org.drools.core.process.instance.impl.DefaultWorkItemManager.writeExternal(ObjectOutput)
Actual type org.kie.api.runtime.process.WorkItemHandler
At DefaultWorkItemManager.java:[line 63]
At DefaultWorkItemManager.java:[line 63]

Class doesn't override equals in superclass Medium

org.drools.core.beliefsystem.jtms.JTMSBeliefSetImpl doesn't override org.drools.core.util.LinkedList.equals(Object)


In file JTMSBeliefSetImpl.java, line 1
In class org.drools.core.beliefsystem.jtms.JTMSBeliefSetImpl
At JTMSBeliefSetImpl.java:[line 1]
Did you intend to override org.drools.core.util.LinkedList.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.beliefsystem.simple.SimpleBeliefSet doesn't override org.drools.core.util.LinkedList.equals(Object)


In file SimpleBeliefSet.java, line 1
In class org.drools.core.beliefsystem.simple.SimpleBeliefSet
At SimpleBeliefSet.java:[line 1]
Did you intend to override org.drools.core.util.LinkedList.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.common.EventFactHandle doesn't override DefaultFactHandle.equals(Object)


In file EventFactHandle.java, line 1
In class org.drools.core.common.EventFactHandle
At EventFactHandle.java:[line 1]
Did you intend to override org.drools.core.common.DefaultFactHandle.equals(Object)

Unusual equals method Medium

org.drools.core.factmodel.traits.ThingProxyPlaceHolder.equals(Object) is unusual


In file ThingProxyPlaceHolder.java, line 61
In class org.drools.core.factmodel.traits.ThingProxyPlaceHolder
In method org.drools.core.factmodel.traits.ThingProxyPlaceHolder.equals(Object)
At ThingProxyPlaceHolder.java:[line 61]

Class doesn't override equals in superclass Medium

org.drools.core.reteoo.EvalNodeLeftTuple doesn't override BaseLeftTuple.equals(Object)


In file EvalNodeLeftTuple.java, line 1
In class org.drools.core.reteoo.EvalNodeLeftTuple
At EvalNodeLeftTuple.java:[line 1]
Did you intend to override org.drools.core.reteoo.BaseLeftTuple.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.reteoo.LeftTupleImpl doesn't override BaseLeftTuple.equals(Object)


In file LeftTupleImpl.java, line 1
In class org.drools.core.reteoo.LeftTupleImpl
At LeftTupleImpl.java:[line 1]
Did you intend to override org.drools.core.reteoo.BaseLeftTuple.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.reteoo.NotNodeLeftTuple doesn't override BaseLeftTuple.equals(Object)


In file NotNodeLeftTuple.java, line 1
In class org.drools.core.reteoo.NotNodeLeftTuple
At NotNodeLeftTuple.java:[line 1]
Did you intend to override org.drools.core.reteoo.BaseLeftTuple.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.reteoo.RuleTerminalNodeLeftTuple doesn't override BaseLeftTuple.equals(Object)


In file RuleTerminalNodeLeftTuple.java, line 1
In class org.drools.core.reteoo.RuleTerminalNodeLeftTuple
At RuleTerminalNodeLeftTuple.java:[line 1]
Did you intend to override org.drools.core.reteoo.BaseLeftTuple.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.reteoo.SubnetworkTuple doesn't override BaseLeftTuple.equals(Object)


In file SubnetworkTuple.java, line 1
In class org.drools.core.reteoo.SubnetworkTuple
At SubnetworkTuple.java:[line 1]
Did you intend to override org.drools.core.reteoo.BaseLeftTuple.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.reteoo.TraitObjectTypeNode doesn't override ObjectTypeNode.equals(Object)


In file TraitObjectTypeNode.java, line 1
In class org.drools.core.reteoo.TraitObjectTypeNode
At TraitObjectTypeNode.java:[line 1]
Did you intend to override org.drools.core.reteoo.ObjectTypeNode.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.reteoo.WindowTuple doesn't override RightTupleImpl.equals(Object)


In file WindowTuple.java, line 1
In class org.drools.core.reteoo.WindowTuple
At WindowTuple.java:[line 1]
Did you intend to override org.drools.core.reteoo.RightTupleImpl.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.rule.AbductiveQuery doesn't override org.drools.core.definitions.rule.impl.RuleImpl.equals(Object)


In file AbductiveQuery.java, line 1
In class org.drools.core.rule.AbductiveQuery
At AbductiveQuery.java:[line 1]
Did you intend to override org.drools.core.definitions.rule.impl.RuleImpl.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.rule.QueryImpl doesn't override org.drools.core.definitions.rule.impl.RuleImpl.equals(Object)


In file QueryImpl.java, line 1
In class org.drools.core.rule.QueryImpl
At QueryImpl.java:[line 1]
Did you intend to override org.drools.core.definitions.rule.impl.RuleImpl.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.rule.XpathBackReference$RelativePattern doesn't override Pattern.equals(Object)


In file XpathBackReference.java, line 1
In class org.drools.core.rule.XpathBackReference$RelativePattern
At XpathBackReference.java:[line 1]
Did you intend to override org.drools.core.rule.Pattern.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.time.impl.JDKTimerService$JDKJobHandle doesn't override DefaultJobHandle.equals(Object)


In file JDKTimerService.java, line 1
In class org.drools.core.time.impl.JDKTimerService$JDKJobHandle
At JDKTimerService.java:[line 1]
Did you intend to override org.drools.core.time.impl.DefaultJobHandle.equals(Object)

Class doesn't override equals in superclass Medium

org.drools.core.util.TupleRBTree$Node doesn't override org.drools.core.util.index.TupleList.equals(Object)


In file TupleRBTree.java, line 1
In class org.drools.core.util.TupleRBTree$Node
At TupleRBTree.java:[line 1]
Did you intend to override org.drools.core.util.index.TupleList.equals(Object)

Load of known null value Medium

Load of known null value in org.drools.core.base.RuleNameSerializationAgendaFilter.objectEquals(Object, Object)


In file RuleNameSerializationAgendaFilter.java, line 125
In class org.drools.core.base.RuleNameSerializationAgendaFilter
In method org.drools.core.base.RuleNameSerializationAgendaFilter.objectEquals(Object, Object)
Value loaded from orig
At RuleNameSerializationAgendaFilter.java:[line 125]
At RuleNameSerializationAgendaFilter.java:[line 125]

Possible null pointer dereference due to return value of called method Medium

Possible null pointer dereference in org.drools.core.io.impl.ClassPathResource.listResources() due to return value of called method


In file ClassPathResource.java, line 263
In class org.drools.core.io.impl.ClassPathResource
In method org.drools.core.io.impl.ClassPathResource.listResources()
Value loaded from ?
Dereferenced at ClassPathResource.java:[line 263]
Known null at ClassPathResource.java:[line 263]

Possible null pointer dereference due to return value of called method Medium

Possible null pointer dereference in org.drools.core.io.impl.FileSystemResource.listResources() due to return value of called method


In file FileSystemResource.java, line 146
In class org.drools.core.io.impl.FileSystemResource
In method org.drools.core.io.impl.FileSystemResource.listResources()
Value loaded from files
Dereferenced at FileSystemResource.java:[line 146]
Known null at FileSystemResource.java:[line 143]

Possible null pointer dereference due to return value of called method Medium

Possible null pointer dereference in org.drools.core.io.impl.UrlResource.listResources() due to return value of called method


In file UrlResource.java, line 383
In class org.drools.core.io.impl.UrlResource
In method org.drools.core.io.impl.UrlResource.listResources()
Value loaded from ?
Dereferenced at UrlResource.java:[line 383]
Known null at UrlResource.java:[line 383]

Load of known null value Medium

Load of known null value in org.drools.core.xml.jaxb.util.JaxbUnknownAdapter.getClass(String)


In file JaxbUnknownAdapter.java, line 251
In class org.drools.core.xml.jaxb.util.JaxbUnknownAdapter
In method org.drools.core.xml.jaxb.util.JaxbUnknownAdapter.getClass(String)
Value loaded from arrClassName
At JaxbUnknownAdapter.java:[line 251]
At JaxbUnknownAdapter.java:[line 251]

Redundant nullcheck of value known to be non-null Medium

Redundant nullcheck of clz, which is known to be non-null in org.drools.core.base.ClassTypeResolver.getFullTypeName(String)


In file ClassTypeResolver.java, line 363
In class org.drools.core.base.ClassTypeResolver
In method org.drools.core.base.ClassTypeResolver.getFullTypeName(String)
Value loaded from clz
Return value of org.drools.core.base.ClassTypeResolver.resolveType(String) of type Class
Redundant null check at ClassTypeResolver.java:[line 363]
Redundant null check at ClassTypeResolver.java:[line 363]

Redundant nullcheck of value known to be null Medium

Redundant nullcheck of handle which is known to be null in org.drools.core.base.TraitHelper.getFactHandle(Object)


In file TraitHelper.java, line 553
In class org.drools.core.base.TraitHelper
In method org.drools.core.base.TraitHelper.getFactHandle(Object)
Value loaded from handle
Redundant null check at TraitHelper.java:[line 553]
Redundant null check at TraitHelper.java:[line 553]

Redundant nullcheck of value known to be null Medium

Redundant nullcheck of handle which is known to be null in org.drools.core.base.TraitHelper.lookupFactHandle(Object)


In file TraitHelper.java, line 524
In class org.drools.core.base.TraitHelper
In method org.drools.core.base.TraitHelper.lookupFactHandle(Object)
Value loaded from handle
Redundant null check at TraitHelper.java:[line 524]
Redundant null check at TraitHelper.java:[line 524]

Redundant nullcheck of value known to be non-null Medium

Redundant nullcheck of Class.getMethod(String, Class[]), which is known to be non-null in org.drools.core.factmodel.traits.TraitCoreWrapperClassBuilderImpl.needsMethod(Class, String, Class[])


In file TraitCoreWrapperClassBuilderImpl.java, line 676
In class org.drools.core.factmodel.traits.TraitCoreWrapperClassBuilderImpl
In method org.drools.core.factmodel.traits.TraitCoreWrapperClassBuilderImpl.needsMethod(Class, String, Class[])
Return value of Class.getMethod(String, Class[]) of type java.lang.reflect.Method
Redundant null check at TraitCoreWrapperClassBuilderImpl.java:[line 676]
Redundant null check at TraitCoreWrapperClassBuilderImpl.java:[line 676]

Redundant nullcheck of value known to be non-null Medium

Redundant nullcheck of listenedProperties, which is known to be non-null in org.drools.core.reteoo.PropertySpecificUtil.calculatePatternMask(List, List, boolean)


In file PropertySpecificUtil.java, line 78
In class org.drools.core.reteoo.PropertySpecificUtil
In method org.drools.core.reteoo.PropertySpecificUtil.calculatePatternMask(List, List, boolean)
Value loaded from listenedProperties
Redundant null check at PropertySpecificUtil.java:[line 78]
Redundant null check at PropertySpecificUtil.java:[line 78]

Redundant nullcheck of value known to be non-null Medium

Redundant nullcheck of conf, which is known to be non-null in org.drools.core.reteoo.ReteooFactHandleFactory.newFactHandle(int, Object, long, ObjectTypeConf, InternalWorkingMemory, InternalWorkingMemoryEntryPoint)


In file ReteooFactHandleFactory.java, line 69
In class org.drools.core.reteoo.ReteooFactHandleFactory
In method org.drools.core.reteoo.ReteooFactHandleFactory.newFactHandle(int, Object, long, ObjectTypeConf, InternalWorkingMemory, InternalWorkingMemoryEntryPoint)
Value loaded from conf
Redundant null check at ReteooFactHandleFactory.java:[line 69]
Redundant null check at ReteooFactHandleFactory.java:[line 69]

Redundant nullcheck of value known to be non-null Medium

Redundant nullcheck of object, which is known to be non-null in org.drools.core.reteoo.RightTupleImpl.equals(Object)


In file RightTupleImpl.java, line 199
In class org.drools.core.reteoo.RightTupleImpl
In method org.drools.core.reteoo.RightTupleImpl.equals(Object)
Value loaded from object
Redundant null check at RightTupleImpl.java:[line 199]
Redundant null check at RightTupleImpl.java:[line 199]

Redundant nullcheck of value known to be non-null Medium

Redundant nullcheck of classLoader, which is known to be non-null in org.drools.core.util.ConfFileUtils.getURL(String, ClassLoader, Class)


In file ConfFileUtils.java, line 62
In class org.drools.core.util.ConfFileUtils
In method org.drools.core.util.ConfFileUtils.getURL(String, ClassLoader, Class)
Value loaded from classLoader
Redundant null check at ConfFileUtils.java:[line 62]
Redundant null check at ConfFileUtils.java:[line 62]

Redundant nullcheck of value known to be non-null Medium

Redundant nullcheck of o, which is known to be non-null in org.drools.core.xml.jaxb.util.JaxbUnknownAdapter.recursiveMarshal(Object, Map)


In file JaxbUnknownAdapter.java, line 87
In class org.drools.core.xml.jaxb.util.JaxbUnknownAdapter
In method org.drools.core.xml.jaxb.util.JaxbUnknownAdapter.recursiveMarshal(Object, Map)
Value loaded from o
Redundant null check at JaxbUnknownAdapter.java:[line 87]
Redundant null check at JaxbUnknownAdapter.java:[line 87]

Exception is caught when Exception is not thrown Medium

Exception is caught when Exception is not thrown in org.drools.core.io.impl.ClassPathResource.listResources()


In file ClassPathResource.java, line 269
In class org.drools.core.io.impl.ClassPathResource
In method org.drools.core.io.impl.ClassPathResource.listResources()
At ClassPathResource.java:[line 269]
At ClassPathResource.java:[line 269]

Exception is caught when Exception is not thrown Medium

Exception is caught when Exception is not thrown in org.drools.core.io.impl.UrlResource.isDirectory()


In file UrlResource.java, line 367
In class org.drools.core.io.impl.UrlResource
In method org.drools.core.io.impl.UrlResource.isDirectory()
At UrlResource.java:[line 367]
At UrlResource.java:[line 367]

Exception is caught when Exception is not thrown Medium

Exception is caught when Exception is not thrown in org.drools.core.rule.builder.dialect.asm.ClassGenerator.generateClass()


In file ClassGenerator.java, line 119
In class org.drools.core.rule.builder.dialect.asm.ClassGenerator
In method org.drools.core.rule.builder.dialect.asm.ClassGenerator.generateClass()
At ClassGenerator.java:[line 119]
At ClassGenerator.java:[line 119]

Exception is caught when Exception is not thrown Medium

Exception is caught when Exception is not thrown in org.drools.core.util.bitmask.OpenBitSet.<static initializer for OpenBitSet>()


In file OpenBitSet.java, line 860
In class org.drools.core.util.bitmask.OpenBitSet
In method org.drools.core.util.bitmask.OpenBitSet.<static initializer for OpenBitSet>()
At OpenBitSet.java:[line 860]
At OpenBitSet.java:[line 860]

Exception is caught when Exception is not thrown Medium

Exception is caught when Exception is not thrown in org.drools.core.xml.ExtensibleXmlParser.resolveSchema(String, String)


In file ExtensibleXmlParser.java, line 707
In class org.drools.core.xml.ExtensibleXmlParser
In method org.drools.core.xml.ExtensibleXmlParser.resolveSchema(String, String)
At ExtensibleXmlParser.java:[line 707]
At ExtensibleXmlParser.java:[line 707]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.audit.event.ActivationLogEvent.toString() where default case is missing


In file ActivationLogEvent.java, lines 131 to 143
In class org.drools.core.audit.event.ActivationLogEvent
In method org.drools.core.audit.event.ActivationLogEvent.toString()
At ActivationLogEvent.java:[lines 131-143]
At ActivationLogEvent.java:[lines 131-143]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.audit.event.ObjectLogEvent.toString() where default case is missing


In file ObjectLogEvent.java, lines 83 to 92
In class org.drools.core.audit.event.ObjectLogEvent
In method org.drools.core.audit.event.ObjectLogEvent.toString()
At ObjectLogEvent.java:[lines 83-92]
At ObjectLogEvent.java:[lines 83-92]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.audit.event.RuleBaseLogEvent.toString() where default case is missing


In file RuleBaseLogEvent.java, lines 80 to 103
In class org.drools.core.audit.event.RuleBaseLogEvent
In method org.drools.core.audit.event.RuleBaseLogEvent.toString()
At RuleBaseLogEvent.java:[lines 80-103]
At RuleBaseLogEvent.java:[lines 80-103]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.audit.event.RuleFlowGroupLogEvent.toString() where default case is missing


In file RuleFlowGroupLogEvent.java, lines 71 to 82
In class org.drools.core.audit.event.RuleFlowGroupLogEvent
In method org.drools.core.audit.event.RuleFlowGroupLogEvent.toString()
At RuleFlowGroupLogEvent.java:[lines 71-82]
At RuleFlowGroupLogEvent.java:[lines 71-82]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.audit.event.RuleFlowLogEvent.toString() where default case is missing


In file RuleFlowLogEvent.java, lines 80 to 91
In class org.drools.core.audit.event.RuleFlowLogEvent
In method org.drools.core.audit.event.RuleFlowLogEvent.toString()
At RuleFlowLogEvent.java:[lines 80-91]
At RuleFlowLogEvent.java:[lines 80-91]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.common.EqualityKey.toString() where default case is missing


In file EqualityKey.java, lines 134 to 139
In class org.drools.core.common.EqualityKey
In method org.drools.core.common.EqualityKey.toString()
At EqualityKey.java:[lines 134-139]
At EqualityKey.java:[lines 134-139]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.common.TupleSetsImpl.addDelete(Tuple) where default case is missing


In file TupleSetsImpl.java, lines 104 to 110
In class org.drools.core.common.TupleSetsImpl
In method org.drools.core.common.TupleSetsImpl.addDelete(Tuple)
At TupleSetsImpl.java:[lines 104-110]
At TupleSetsImpl.java:[lines 104-110]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.factmodel.DefaultBeanClassBuilder.buildClassAnnotations(ClassDefinition, ClassVisitor) where default case is missing


In file DefaultBeanClassBuilder.java, lines 1819 to 1860
In class org.drools.core.factmodel.DefaultBeanClassBuilder
In method org.drools.core.factmodel.DefaultBeanClassBuilder.buildClassAnnotations(ClassDefinition, ClassVisitor)
At DefaultBeanClassBuilder.java:[lines 1819-1860]
At DefaultBeanClassBuilder.java:[lines 1819-1860]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.factmodel.DefaultBeanClassBuilder.buildFieldAnnotations(FieldDefinition, FieldVisitor) where default case is missing


In file DefaultBeanClassBuilder.java, lines 1879 to 1920
In class org.drools.core.factmodel.DefaultBeanClassBuilder
In method org.drools.core.factmodel.DefaultBeanClassBuilder.buildFieldAnnotations(FieldDefinition, FieldVisitor)
At DefaultBeanClassBuilder.java:[lines 1879-1920]
At DefaultBeanClassBuilder.java:[lines 1879-1920]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.marshalling.impl.ProtobufOutputMarshaller.writeNodeMemories(MarshallerWriteContext, ProtobufMessages$RuleData$Builder) where default case is missing


In file ProtobufOutputMarshaller.java, lines 371 to 386
In class org.drools.core.marshalling.impl.ProtobufOutputMarshaller
In method org.drools.core.marshalling.impl.ProtobufOutputMarshaller.writeNodeMemories(MarshallerWriteContext, ProtobufMessages$RuleData$Builder)
At ProtobufOutputMarshaller.java:[lines 371-386]
At ProtobufOutputMarshaller.java:[lines 371-386]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.phreak.PhreakAccumulateNode.doLeftDeletes(AccumulateNode, AccumulateNode$AccumulateMemory, InternalWorkingMemory, TupleSets, TupleSets, TupleSets) where default case is missing


In file PhreakAccumulateNode.java, lines 602 to 608
In class org.drools.core.phreak.PhreakAccumulateNode
In method org.drools.core.phreak.PhreakAccumulateNode.doLeftDeletes(AccumulateNode, AccumulateNode$AccumulateMemory, InternalWorkingMemory, TupleSets, TupleSets, TupleSets)
At PhreakAccumulateNode.java:[lines 602-608]
At PhreakAccumulateNode.java:[lines 602-608]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.phreak.PhreakAccumulateNode.evaluateResultConstraints(AccumulateNode, LeftTupleSink, Accumulate, LeftTuple, PropagationContext, InternalWorkingMemory, AccumulateNode$AccumulateMemory, AccumulateNode$AccumulateContext, TupleSets, TupleSets) where default case is missing


In file PhreakAccumulateNode.java, lines 723 to 729
In class org.drools.core.phreak.PhreakAccumulateNode
In method org.drools.core.phreak.PhreakAccumulateNode.evaluateResultConstraints(AccumulateNode, LeftTupleSink, Accumulate, LeftTuple, PropagationContext, InternalWorkingMemory, AccumulateNode$AccumulateMemory, AccumulateNode$AccumulateContext, TupleSets, TupleSets)
At PhreakAccumulateNode.java:[lines 723-729]
At PhreakAccumulateNode.java:[lines 723-729]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.phreak.PhreakBranchNode.doLeftUpdates(ConditionalBranchNode, ConditionalBranchNode$ConditionalBranchMemory, LeftTupleSink, InternalWorkingMemory, TupleSets, TupleSets, TupleSets, RuleExecutor) where default case is missing


In file PhreakBranchNode.java, lines 175 to 181
In class org.drools.core.phreak.PhreakBranchNode
In method org.drools.core.phreak.PhreakBranchNode.doLeftUpdates(ConditionalBranchNode, ConditionalBranchNode$ConditionalBranchMemory, LeftTupleSink, InternalWorkingMemory, TupleSets, TupleSets, TupleSets, RuleExecutor)
At PhreakBranchNode.java:[lines 175-181]
At PhreakBranchNode.java:[lines 175-181]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.phreak.PhreakEvalNode.doLeftUpdates(EvalConditionNode, EvalConditionNode$EvalMemory, LeftTupleSink, InternalWorkingMemory, TupleSets, TupleSets, TupleSets) where default case is missing


In file PhreakEvalNode.java, lines 110 to 116
In class org.drools.core.phreak.PhreakEvalNode
In method org.drools.core.phreak.PhreakEvalNode.doLeftUpdates(EvalConditionNode, EvalConditionNode$EvalMemory, LeftTupleSink, InternalWorkingMemory, TupleSets, TupleSets, TupleSets)
At PhreakEvalNode.java:[lines 110-116]
At PhreakEvalNode.java:[lines 110-116]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuple(LeftTupleSink, TupleSets, TupleSets, LeftTuple) where default case is missing


In file PhreakTimerNode.java, lines 353 to 359
In class org.drools.core.phreak.PhreakTimerNode
In method org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuple(LeftTupleSink, TupleSets, TupleSets, LeftTuple)
At PhreakTimerNode.java:[lines 353-359]
At PhreakTimerNode.java:[lines 353-359]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.phreak.RuleNetworkEvaluator.deleteChildLeftTuple(LeftTuple, TupleSets, TupleSets) where default case is missing


In file RuleNetworkEvaluator.java, lines 722 to 729
In class org.drools.core.phreak.RuleNetworkEvaluator
In method org.drools.core.phreak.RuleNetworkEvaluator.deleteChildLeftTuple(LeftTuple, TupleSets, TupleSets)
At RuleNetworkEvaluator.java:[lines 722-729]
At RuleNetworkEvaluator.java:[lines 722-729]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.phreak.RuleNetworkEvaluator.evalNode(PathMemory, NetworkNode, long, Memory, SegmentMemory[], int, InternalWorkingMemory, LinkedList, boolean, RuleExecutor, TupleSets, SegmentMemory, TupleSets, LeftTupleSinkNode) where default case is missing


In file RuleNetworkEvaluator.java, lines 347 to 373
In class org.drools.core.phreak.RuleNetworkEvaluator
In method org.drools.core.phreak.RuleNetworkEvaluator.evalNode(PathMemory, NetworkNode, long, Memory, SegmentMemory[], int, InternalWorkingMemory, LinkedList, boolean, RuleExecutor, TupleSets, SegmentMemory, TupleSets, LeftTupleSinkNode)
At RuleNetworkEvaluator.java:[lines 347-373]
At RuleNetworkEvaluator.java:[lines 347-373]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.phreak.RuleNetworkEvaluator.switchOnDoBetaNode(NetworkNode, TupleSets, InternalWorkingMemory, TupleSets, TupleSets, LeftTupleSinkNode, BetaMemory, AccumulateNode$AccumulateMemory) where default case is missing


In file RuleNetworkEvaluator.java, lines 517 to 534
In class org.drools.core.phreak.RuleNetworkEvaluator
In method org.drools.core.phreak.RuleNetworkEvaluator.switchOnDoBetaNode(NetworkNode, TupleSets, InternalWorkingMemory, TupleSets, TupleSets, LeftTupleSinkNode, BetaMemory, AccumulateNode$AccumulateMemory)
At RuleNetworkEvaluator.java:[lines 517-534]
At RuleNetworkEvaluator.java:[lines 517-534]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.phreak.SegmentUtilities.createSegmentMemory(LeftTupleSource, InternalWorkingMemory) where default case is missing


In file SegmentUtilities.java, lines 95 to 115
In class org.drools.core.phreak.SegmentUtilities
In method org.drools.core.phreak.SegmentUtilities.createSegmentMemory(LeftTupleSource, InternalWorkingMemory)
At SegmentUtilities.java:[lines 95-115]
At SegmentUtilities.java:[lines 95-115]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.phreak.SegmentUtilities.updateNodeTypesMask(NetworkNode, int) where default case is missing


In file SegmentUtilities.java, lines 545 to 557
In class org.drools.core.phreak.SegmentUtilities
In method org.drools.core.phreak.SegmentUtilities.updateNodeTypesMask(NetworkNode, int)
At SegmentUtilities.java:[lines 545-557]
At SegmentUtilities.java:[lines 545-557]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener.rowRemoved(RuleImpl, LeftTuple, PropagationContext, InternalWorkingMemory) where default case is missing


In file QueryElementNode.java, lines 488 to 494
In class org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener
In method org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener.rowRemoved(RuleImpl, LeftTuple, PropagationContext, InternalWorkingMemory)
At QueryElementNode.java:[lines 488-494]
At QueryElementNode.java:[lines 488-494]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener.rowUpdated(RuleImpl, LeftTuple, PropagationContext, InternalWorkingMemory) where default case is missing


In file QueryElementNode.java, lines 541 to 547
In class org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener
In method org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener.rowUpdated(RuleImpl, LeftTuple, PropagationContext, InternalWorkingMemory)
At QueryElementNode.java:[lines 541-547]
At QueryElementNode.java:[lines 541-547]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.rule.constraint.ASMConditionEvaluatorJitter$EvaluateMethodGenerator.jitAritmeticOperation(Class, ConditionAnalyzer$AritmeticOperator) where default case is missing


In file ASMConditionEvaluatorJitter.java, lines 794 to 808
In class org.drools.core.rule.constraint.ASMConditionEvaluatorJitter$EvaluateMethodGenerator
In method org.drools.core.rule.constraint.ASMConditionEvaluatorJitter$EvaluateMethodGenerator.jitAritmeticOperation(Class, ConditionAnalyzer$AritmeticOperator)
At ASMConditionEvaluatorJitter.java:[lines 794-808]
At ASMConditionEvaluatorJitter.java:[lines 794-808]

Switch statement found where default case is missing Medium

Switch statement found in org.drools.core.util.StringUtils.codeAwareSplitOnChar(CharSequence, char) where default case is missing


In file StringUtils.java, lines 969 to 988
In class org.drools.core.util.StringUtils
In method org.drools.core.util.StringUtils.codeAwareSplitOnChar(CharSequence, char)
At StringUtils.java:[lines 969-988]
At StringUtils.java:[lines 969-988]

Write to static field from instance method Medium

Write to static field org.drools.core.phreak.RuleNetworkEvaluator.cycle from instance method org.drools.core.phreak.RuleNetworkEvaluator.innerEval(PathMemory, NetworkNode, long, Memory, SegmentMemory[], int, TupleSets, InternalWorkingMemory, LinkedList, boolean, RuleExecutor)


In file RuleNetworkEvaluator.java, line 219
In class org.drools.core.phreak.RuleNetworkEvaluator
In method org.drools.core.phreak.RuleNetworkEvaluator.innerEval(PathMemory, NetworkNode, long, Memory, SegmentMemory[], int, TupleSets, InternalWorkingMemory, LinkedList, boolean, RuleExecutor)
Field org.drools.core.phreak.RuleNetworkEvaluator.cycle
At RuleNetworkEvaluator.java:[line 219]
At RuleNetworkEvaluator.java:[line 219]

Useless control flow Medium

Useless control flow in org.drools.core.base.TraitHelper.getFactHandleFromWM(Object)


In file TraitHelper.java, line 545
In class org.drools.core.base.TraitHelper
In method org.drools.core.base.TraitHelper.getFactHandleFromWM(Object)
At TraitHelper.java:[line 545]
At TraitHelper.java:[line 545]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$BehaviorExpire$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 33948
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$BehaviorExpire$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$BehaviorExpire$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 33948]
At ProtobufMessages.java:[line 33948]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$DeactivateCallback$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 34376
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$DeactivateCallback$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$DeactivateCallback$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 34376]
At ProtobufMessages.java:[line 34376]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Expire$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 37062
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Expire$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Expire$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 37062]
At ProtobufMessages.java:[line 37062]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Propagate$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 35565
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Propagate$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Propagate$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 35565]
At ProtobufMessages.java:[line 35565]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Signal$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 37571
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Signal$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$Signal$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 37571]
At ProtobufMessages.java:[line 37571]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$SignalProcessInstance$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 38165
In class org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$SignalProcessInstance$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$ActionQueue$SignalProcessInstance$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 38165]
At ProtobufMessages.java:[line 38165]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup$NodeInstance$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 9180
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup$NodeInstance$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Agenda$AgendaGroup$NodeInstance$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 9180]
At ProtobufMessages.java:[line 9180]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Agenda$FocusStack$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 11035
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$FocusStack$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Agenda$FocusStack$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 11035]
At ProtobufMessages.java:[line 11035]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup$NodeInstance$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 11784
In class org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup$NodeInstance$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Agenda$RuleFlowGroup$NodeInstance$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 11784]
At ProtobufMessages.java:[line 11784]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$FactHandle$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 24623
In class org.drools.core.marshalling.impl.ProtobufMessages$FactHandle$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$FactHandle$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 24623]
At ProtobufMessages.java:[line 24623]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Header$StrategyIndex$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 696
In class org.drools.core.marshalling.impl.ProtobufMessages$Header$StrategyIndex$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Header$StrategyIndex$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 696]
At ProtobufMessages.java:[line 696]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeBase$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 4066
In class org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeBase$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$KnowledgeBase$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 4066]
At ProtobufMessages.java:[line 4066]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$ObjectTypeConfiguration$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 28684
In class org.drools.core.marshalling.impl.ProtobufMessages$ObjectTypeConfiguration$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$ObjectTypeConfiguration$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 28684]
At ProtobufMessages.java:[line 28684]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$ProcessData$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 8188
In class org.drools.core.marshalling.impl.ProtobufMessages$ProcessData$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$ProcessData$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 8188]
At ProtobufMessages.java:[line 8188]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$RuntimeClassDef$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 7727
In class org.drools.core.marshalling.impl.ProtobufMessages$RuntimeClassDef$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$RuntimeClassDef$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 7727]
At ProtobufMessages.java:[line 7727]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Signature$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 3477
In class org.drools.core.marshalling.impl.ProtobufMessages$Signature$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Signature$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 3477]
At ProtobufMessages.java:[line 3477]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Timers$BehaviorTimer$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 42228
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$BehaviorTimer$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Timers$BehaviorTimer$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 42228]
At ProtobufMessages.java:[line 42228]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Timers$ExpireTimer$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 40843
In class org.drools.core.marshalling.impl.ProtobufMessages$Timers$ExpireTimer$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Timers$ExpireTimer$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 40843]
At ProtobufMessages.java:[line 40843]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CronTrigger$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 44668
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CronTrigger$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Trigger$CronTrigger$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 44668]
At ProtobufMessages.java:[line 44668]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Trigger$IntervalTrigger$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 45697
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$IntervalTrigger$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Trigger$IntervalTrigger$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 45697]
At ProtobufMessages.java:[line 45697]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Trigger$PointInTimeTrigger$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 46414
In class org.drools.core.marshalling.impl.ProtobufMessages$Trigger$PointInTimeTrigger$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Trigger$PointInTimeTrigger$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 46414]
At ProtobufMessages.java:[line 46414]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Tuple$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 27142
In class org.drools.core.marshalling.impl.ProtobufMessages$Tuple$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Tuple$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 27142]
At ProtobufMessages.java:[line 27142]

Useless control flow Medium

Useless control flow in org.drools.core.marshalling.impl.ProtobufMessages$Version$Builder.maybeForceBuilderInitialization()


In file ProtobufMessages.java, line 2926
In class org.drools.core.marshalling.impl.ProtobufMessages$Version$Builder
In method org.drools.core.marshalling.impl.ProtobufMessages$Version$Builder.maybeForceBuilderInitialization()
At ProtobufMessages.java:[line 2926]
At ProtobufMessages.java:[line 2926]

Unread public/protected field Medium

Unread public/protected field: org.drools.core.marshalling.impl.MarshallerReaderContext.parameterObject


In file MarshallerReaderContext.java, line 136
In class org.drools.core.marshalling.impl.MarshallerReaderContext
Field org.drools.core.marshalling.impl.MarshallerReaderContext.parameterObject
At MarshallerReaderContext.java:[line 136]

Unread public/protected field Medium

Unread public/protected field: org.drools.core.marshalling.impl.MarshallerWriteContext.parameterObject


In file ProtobufOutputMarshaller.java, line 198
In class org.drools.core.marshalling.impl.MarshallerWriteContext
Field org.drools.core.marshalling.impl.MarshallerWriteContext.parameterObject
At ProtobufOutputMarshaller.java:[line 198]

Unread public/protected field Medium

Unread public/protected field: org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener.tupleMemoryEnabled


In file QueryElementNode.java, line 336
In class org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener
Field org.drools.core.reteoo.QueryElementNode$UnificationNodeViewChangedEventListener.tupleMemoryEnabled
At QueryElementNode.java:[line 336]

Unread public/protected field Medium

Unread public/protected field: org.drools.core.runtime.help.impl.XStreamJSon$BaseConverter.reflectionProvider


In file XStreamJSon.java, line 808
In class org.drools.core.runtime.help.impl.XStreamJSon$BaseConverter
Field org.drools.core.runtime.help.impl.XStreamJSon$BaseConverter.reflectionProvider
At XStreamJSon.java:[line 808]

Unused public or protected field Medium

Unused public or protected field: org.drools.core.common.SharedWorkingMemoryContext.propagationIdCounter


In file SharedWorkingMemoryContext.java, lines to
In class org.drools.core.common.SharedWorkingMemoryContext
Field org.drools.core.common.SharedWorkingMemoryContext.propagationIdCounter
In SharedWorkingMemoryContext.java

Unused public or protected field Medium

Unused public or protected field: org.drools.core.marshalling.impl.MarshallerReaderContext.kruntime


In file MarshallerReaderContext.java, lines to
In class org.drools.core.marshalling.impl.MarshallerReaderContext
Field org.drools.core.marshalling.impl.MarshallerReaderContext.kruntime
In MarshallerReaderContext.java

Unwritten public or protected field Medium

Unwritten public or protected field: org.drools.core.factmodel.Fact.name


In file Jenerator.java, line 65
In class org.drools.core.factmodel.Fact
Field org.drools.core.factmodel.Fact.name
At Jenerator.java:[line 65]

Unwritten public or protected field Medium

Unwritten public or protected field: org.drools.core.factmodel.Field.name


In file Jenerator.java, line 63
In class org.drools.core.factmodel.Field
Field org.drools.core.factmodel.Field.name
At Jenerator.java:[line 63]

Unwritten public or protected field Medium

Unwritten public or protected field: org.drools.core.factmodel.Field.type


In file Jenerator.java, line 63
In class org.drools.core.factmodel.Field
Field org.drools.core.factmodel.Field.type
At Jenerator.java:[line 63]

Unwritten public or protected field Medium

Unwritten public or protected field: org.drools.core.metadata.ClassLiteral.propertyNames


In file ClassLiteral.java, line 42
In class org.drools.core.metadata.ClassLiteral
Field org.drools.core.metadata.ClassLiteral.propertyNames
At ClassLiteral.java:[line 42]

Unwritten public or protected field Medium

Unwritten public or protected field: org.drools.core.metadata.DonLiteral.setter


In file DonLiteral.java, line 69
In class org.drools.core.metadata.DonLiteral
Field org.drools.core.metadata.DonLiteral.setter
At DonLiteral.java:[line 69]

Unwritten public or protected field Medium

Unwritten public or protected field: org.drools.core.metadata.MetadataContainer.metaClassInfo


In file MetadataContainer.java, line 38
In class org.drools.core.metadata.MetadataContainer
Field org.drools.core.metadata.MetadataContainer.metaClassInfo
At MetadataContainer.java:[line 38]

Unwritten public or protected field Medium

Unwritten public or protected field: org.drools.core.metadata.NewInstanceLiteral.setter


In file NewInstanceLiteral.java, line 62
In class org.drools.core.metadata.NewInstanceLiteral
Field org.drools.core.metadata.NewInstanceLiteral.setter
At NewInstanceLiteral.java:[line 62]





Warning Types

Sequence of calls to concurrent abstraction may not be atomic

This code contains a sequence of calls to a concurrent abstraction (such as a concurrent hash map). These calls will not be executed atomically.



Equals method should not assume anything about the type of its argument

The equals(Object o) method shouldn't make any assumptions about the type of o. It should simply return false if o is not the same type as this.



Impossible cast

This cast will always throw a ClassCastException. FindBugs tracks type information from instanceof checks, and also uses more precise information about the types of values returned from methods and loaded from fields. Thus, it may have more precise information that just the declared type of a variable, and can use this to determine that a cast will always throw an exception at runtime.



instanceof will always return true

This instanceof test will always return true (unless the value being tested is null). Although this is safe, make sure it isn't an indication of some misunderstanding or some other logic error. If you really want to test the value for being null, perhaps it would be clearer to do better to do a null test rather than an instanceof test.



Unchecked/unconfirmed cast

This cast is unchecked, and not all instances of the type casted from can be cast to the type it is being cast to. Check that your program logic ensures that this cast will not fail.



Boxed value is unboxed and then immediately reboxed

A boxed value is unboxed and then immediately reboxed.



Boxing/unboxing to parse a primitive

A boxed primitive is created from a String, just to extract the unboxed primitive value. It is more efficient to just call the static parseXXX method.



Method allocates a boxed primitive just to call toString

A boxed primitive is allocated just to call toString(). It is more effective to just use the static form of toString which takes the primitive value. So,

Replace...With this...
new Integer(1).toString()Integer.toString(1)
new Long(1).toString()Long.toString(1)
new Float(1.0).toString()Float.toString(1.0)
new Double(1.0).toString()Double.toString(1.0)
new Byte(1).toString()Byte.toString(1)
new Short(1).toString()Short.toString(1)
new Boolean(true).toString()Boolean.toString(true)



Method invokes inefficient Number constructor; use static valueOf instead

Using new Integer(int) is guaranteed to always result in a new object whereas Integer.valueOf(int) allows caching of values to be done by the compiler, class library, or JVM. Using of cached values avoids object allocation and the code will be faster.

Values between -128 and 127 are guaranteed to have corresponding cached instances and using valueOf is approximately 3.5 times faster than using constructor. For values outside the constant range the performance of both styles is the same.

Unless the class must be compatible with JVMs predating Java 1.5, use either autoboxing or the valueOf() method when creating instances of Long, Integer, Short, Character, and Byte.



Class defines clone() but doesn't implement Cloneable

This class defines a clone() method but the class doesn't implement Cloneable. There are some situations in which this is OK (e.g., you want to control how subclasses can clone themselves), but just make sure that this is what you intended.



clone method does not call super.clone()

This non-final class defines a clone() method that does not call super.clone(). If this class ("A") is extended by a subclass ("B"), and the subclass B calls super.clone(), then it is likely that B's clone() method will return an object of type A, which violates the standard contract for clone().

If all clone() methods call super.clone(), then they are guaranteed to use Object.clone(), which always returns an object of the correct type.



Possible double check of field

This method may contain an instance of double-checked locking.  This idiom is not correct according to the semantics of the Java memory model.  For more information, see the web page http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html.



Method might ignore exception

This method might ignore an exception.  In general, exceptions should be handled or reported in some way, or they should be thrown out of the method.



Dead store to local variable

This instruction assigns a value to a local variable, but the value is not read or used in any subsequent instruction. Often, this indicates an error, because the value computed is never used.

Note that Sun's javac compiler often generates dead stores for final local variables. Because FindBugs is a bytecode-based tool, there is no easy way to eliminate these false positives.



Dead store to local variable that shadows field

This instruction assigns a value to a local variable, but the value is not read or used in any subsequent instruction. Often, this indicates an error, because the value computed is never used. There is a field with the same name as the local variable. Did you mean to assign to that variable instead?



Explicit garbage collection; extremely dubious except in benchmarking code

Code explicitly invokes garbage collection. Except for specific use in benchmarking, this is very dubious.

In the past, situations where people have explicitly invoked the garbage collector in routines such as close or finalize methods has led to huge performance black holes. Garbage collection can be expensive. Any situation that forces hundreds or thousands of garbage collections will bring the machine to a crawl.



Method invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead

Creating new instances of java.lang.Boolean wastes memory, since Boolean objects are immutable and there are only two useful values of this type.  Use the Boolean.valueOf() method (or Java 1.5 autoboxing) to create Boolean objects instead.



Reliance on default encoding

Found a call to a method which will perform a byte to String (or String to byte) conversion, and will assume that the default platform encoding is suitable. This will cause the application behaviour to vary between platforms. Use an alternative API and specify a charset name or Charset object explicitly.



The equals and hashCode methods of URL are blocking

The equals and hashCode method of URL perform domain name resolution, this can result in a big performance hit. See http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html for more information. Consider using java.net.URI instead.



Non serializable object written to ObjectOutput

This code seems to be passing a non-serializable object to the ObjectOutput.writeObject method. If the object is, indeed, non-serializable, an error will result.



Classloaders should only be created inside doPrivileged block

This code creates a classloader, which needs permission if a security manage is installed. If this code might be invoked by code that does not have security permissions, then the classloader creation needs to occur inside a doPrivileged block.



May expose internal representation by returning reference to mutable object

Returning a reference to a mutable object value stored in one of the object's fields exposes the internal representation of the object.  If instances are accessed by untrusted code, and unchecked changes to the mutable object would compromise security or other important properties, you will need to do something different. Returning a new copy of the object is better approach in many situations.



May expose internal representation by incorporating reference to mutable object

This code stores a reference to an externally mutable object into the internal representation of the object.  If instances are accessed by untrusted code, and unchecked changes to the mutable object would compromise security or other important properties, you will need to do something different. Storing a copy of the object is better approach in many situations.



Class defines compareTo(...) and uses Object.equals()

This class defines a compareTo(...) method but inherits its equals() method from java.lang.Object. Generally, the value of compareTo should return zero if and only if equals returns true. If this is violated, weird and unpredictable failures will occur in classes such as PriorityQueue. In Java 5 the PriorityQueue.remove method uses the compareTo method, while in Java 6 it uses the equals method.

From the JavaDoc for the compareTo method in the Comparable interface:

It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class that implements the Comparable interface and violates this condition should clearly indicate this fact. The recommended language is "Note: this class has a natural ordering that is inconsistent with equals."



Class doesn't override equals in superclass

This class extends a class that defines an equals method and adds fields, but doesn't define an equals method itself. Thus, equality on instances of this class will ignore the identity of the subclass and the added fields. Be sure this is what is intended, and that you don't need to override the equals method. Even if you don't need to override the equals method, consider overriding it anyway to document the fact that the equals method for the subclass just return the result of invoking super.equals(o).



Equals checks for incompatible operand

This equals method is checking to see if the argument is some incompatible type (i.e., a class that is neither a supertype nor subtype of the class that defines the equals method). For example, the Foo class might have an equals method that looks like:

public boolean equals(Object o) {
  if (o instanceof Foo)
    return name.equals(((Foo)o).name);
  else if (o instanceof String)
    return name.equals(o);
  else return false;

This is considered bad practice, as it makes it very hard to implement an equals method that is symmetric and transitive. Without those properties, very unexpected behavoirs are possible.



equals method fails for subtypes

This class has an equals method that will be broken if it is inherited by subclasses. It compares a class literal with the class of the argument (e.g., in class Foo it might check if Foo.class == o.getClass()). It is better to check if this.getClass() == o.getClass().



equals method overrides equals in superclass and may not be symmetric

This class defines an equals method that overrides an equals method in a superclass. Both equals methods methods use instanceof in the determination of whether two objects are equal. This is fraught with peril, since it is important that the equals method is symmetrical (in other words, a.equals(b) == b.equals(a)). If B is a subtype of A, and A's equals method checks that the argument is an instanceof A, and B's equals method checks that the argument is an instanceof B, it is quite likely that the equivalence relation defined by these methods is not symmetric.



Unusual equals method

This class doesn't do any of the patterns we recognize for checking that the type of the argument is compatible with the type of the this object. There might not be anything wrong with this code, but it is worth reviewing.



Class defines equals() and uses Object.hashCode()

This class overrides equals(Object), but does not override hashCode(), and inherits the implementation of hashCode() from java.lang.Object (which returns the identity hash code, an arbitrary value assigned to the object by the VM).  Therefore, the class is very likely to violate the invariant that equal objects must have equal hashcodes.

If you don't think instances of this class will ever be inserted into a HashMap/HashTable, the recommended hashCode implementation to use is:

public int hashCode() {
  assert false : "hashCode not designed";
  return 42; // any arbitrary constant will do
  }



Class inherits equals() and uses Object.hashCode()

This class inherits equals(Object) from an abstract superclass, and hashCode() from java.lang.Object (which returns the identity hash code, an arbitrary value assigned to the object by the VM).  Therefore, the class is very likely to violate the invariant that equal objects must have equal hashcodes.

If you don't want to define a hashCode method, and/or don't believe the object will ever be put into a HashMap/Hashtable, define the hashCode() method to throw UnsupportedOperationException.



An apparent infinite recursive loop

This method unconditionally invokes itself. This would seem to indicate an infinite recursive loop that will result in a stack overflow.



Inconsistent synchronization

The fields of this class appear to be accessed inconsistently with respect to synchronization.  This bug report indicates that the bug pattern detector judged that

A typical bug matching this bug pattern is forgetting to synchronize one of the methods in a class that is intended to be thread-safe.

You can select the nodes labeled "Unsynchronized access" to show the code locations where the detector believed that a field was accessed without synchronization.

Note that there are various sources of inaccuracy in this detector; for example, the detector cannot statically detect all situations in which a lock is held.  Also, even when the detector is accurate in distinguishing locked vs. unlocked accesses, the code in question may still be correct.



Synchronization performed on util.concurrent instance

This method performs synchronization an object that is an instance of a class from the java.util.concurrent package (or its subclasses). Instances of these classes have their own concurrency control mechanisms that are orthogonal to the synchronization provided by the Java keyword synchronized. For example, synchronizing on an AtomicBoolean will not prevent other threads from modifying the AtomicBoolean.

Such code may be correct, but should be carefully reviewed and documented, and may confuse people who have to maintain the code at a later date.



Field is a mutable collection which should be package protected

A mutable collection instance is assigned to a final static field, thus can be changed by malicious code or by accident from another package. The field could be made package protected to avoid this vulnerability. Alternatively you may wrap this field into Collections.unmodifiableSet/List/Map/etc. to avoid this vulnerability.



Field isn't final but should be

This static field public but not final, and could be changed by malicious code or by accident from another package. The field could be made final to avoid this vulnerability.



Field should be package protected

A mutable static field could be changed by malicious code or by accident. The field could be made package protected to avoid this vulnerability.



Class names shouldn't shadow simple name of implemented interface

This class/interface has a simple name that is identical to that of an implemented/extended interface, except that the interface is in a different package (e.g., alpha.Foo extends beta.Foo). This can be exceptionally confusing, create lots of situations in which you have to look at import statements to resolve references and creates many opportunities to accidentally define methods that do not override methods in their superclasses.



Class names shouldn't shadow simple name of superclass

This class has a simple name that is identical to that of its superclass, except that its superclass is in a different package (e.g., alpha.Foo extends beta.Foo). This can be exceptionally confusing, create lots of situations in which you have to look at import statements to resolve references and creates many opportunities to accidentally define methods that do not override methods in their superclasses.



Method names should start with a lower case letter

Methods should be verbs, in mixed case with the first letter lowercase, with the first letter of each internal word capitalized.



Naked notify

A call to notify() or notifyAll() was made without any (apparent) accompanying modification to mutable object state.  In general, calling a notify method on a monitor is done because some condition another thread is waiting for has become true.  However, for the condition to be meaningful, it must involve a heap object that is visible to both threads.

This bug does not necessarily indicate an error, since the change to mutable object state may have taken place in a method which then called the method containing the notification.



equals() method does not check for null argument

This implementation of equals(Object) violates the contract defined by java.lang.Object.equals() because it does not check for null being passed as the argument. All equals() methods should return false if passed a null value.



Load of known null value

The variable referenced at this point is known to be null due to an earlier check against null. Although this is valid, it might be a mistake (perhaps you intended to refer to a different variable, or perhaps the earlier check to see if the variable is null should have been a check to see if it was non-null).



Method call passes null for non-null parameter

This method call passes a null value for a non-null method parameter. Either the parameter is annotated as a parameter that should always be non-null, or analysis has shown that it will always be dereferenced.



Possible null pointer dereference

There is a branch of statement that, if executed, guarantees that a null value will be dereferenced, which would generate a NullPointerException when the code is executed. Of course, the problem might be that the branch or statement is infeasible and that the null pointer exception can't ever be executed; deciding that is beyond the ability of FindBugs.



Possible null pointer dereference due to return value of called method

The return value from a method is dereferenced without a null check, and the return value of that method is one that should generally be checked for null. This may lead to a NullPointerException when the code is executed.



Possible null pointer dereference in method on exception path

A reference value which is null on some exception control path is dereferenced here.  This may lead to a NullPointerException when the code is executed.  Note that because FindBugs currently does not prune infeasible exception paths, this may be a false warning.

Also note that FindBugs considers the default case of a switch statement to be an exception path, since the default case is often infeasible.



Read of unwritten field

The program is dereferencing a field that does not seem to ever have a non-null value written to it. Unless the field is initialized via some mechanism not seen by the analysis, dereferencing this value will generate a null pointer exception.



Value is null and guaranteed to be dereferenced on exception path

There is a statement or branch on an exception path that if executed guarantees that a value is null at this point, and that value that is guaranteed to be dereferenced (except on forward paths involving runtime exceptions).



Method may fail to clean up stream or resource on checked exception

This method may fail to clean up (close, dispose of) a stream, database object, or other resource requiring an explicit cleanup operation.

In general, if a method opens a stream or other resource, the method should use a try/finally block to ensure that the stream or resource is cleaned up before the method returns.

This bug pattern is essentially the same as the OS_OPEN_STREAM and ODR_OPEN_DATABASE_RESOURCE bug patterns, but is based on a different (and hopefully better) static analysis technique. We are interested is getting feedback about the usefulness of this bug pattern. To send feedback, either:

In particular, the false-positive suppression heuristics for this bug pattern have not been extensively tuned, so reports about false positives are helpful to us.

See Weimer and Necula, Finding and Preventing Run-Time Error Handling Mistakes, for a description of the analysis technique.



Suspicious reference comparison of Boolean values

This method compares two Boolean values using the == or != operator. Normally, there are only two Boolean values (Boolean.TRUE and Boolean.FALSE), but it is possible to create other Boolean objects using the new Boolean(b) constructor. It is best to avoid such objects, but if they do exist, then checking Boolean objects for equality using == or != will give results than are different than you would get using .equals(...)



Nullcheck of value previously dereferenced

A value is checked here to see whether it is null, but this value can't be null because it was previously dereferenced and if it were null a null pointer exception would have occurred at the earlier dereference. Essentially, this code and the previous dereference disagree as to whether this value is allowed to be null. Either the check is redundant or the previous dereference is erroneous.



Redundant nullcheck of value known to be non-null

This method contains a redundant check of a known non-null value against the constant null.



Redundant nullcheck of value known to be null

This method contains a redundant check of a known null value against the constant null.



Exception is caught when Exception is not thrown

This method uses a try-catch block that catches Exception objects, but Exception is not thrown within the try block, and RuntimeException is not explicitly caught. It is a common bug pattern to say try { ... } catch (Exception e) { something } as a shorthand for catching a number of types of exception each of whose catch blocks is identical, but this construct also accidentally catches RuntimeException as well, masking potential bugs.

A better approach is to either explicitly catch the specific exceptions that are thrown, or to explicitly catch RuntimeException exception, rethrow it, and then catch all non-Runtime Exceptions, as shown below:

  try {
    ...
  } catch (RuntimeException e) {
    throw e;
  } catch (Exception e) {
    ... deal with all non-runtime exceptions ...
  }



Bad attempt to compute absolute value of signed 32-bit hashcode

This code generates a hashcode and then computes the absolute value of that hashcode. If the hashcode is Integer.MIN_VALUE, then the result will be negative as well (since Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE).

One out of 2^32 strings have a hashCode of Integer.MIN_VALUE, including "polygenelubricants" "GydZG_" and ""DESIGNING WORKHOUSES".



Code checks for specific values returned by compareTo

This code invoked a compareTo or compare method, and checks to see if the return value is a specific value, such as 1 or -1. When invoking these methods, you should only check the sign of the result, not for any specific non-zero value. While many or most compareTo and compare methods only return -1, 0 or 1, some of them will return other values.



Method ignores exceptional return value

This method returns a value that is not checked. The return value should be checked since it can indicate an unusual or unexpected function execution. For example, the File.delete() method returns false if the file could not be successfully deleted (rather than throwing an Exception). If you don't check the result, you won't notice if the method invocation signals unexpected behavior by returning an atypical return value.



Method concatenates strings using + in a loop

The method seems to be building a String using concatenation in a loop. In each iteration, the String is converted to a StringBuffer/StringBuilder, appended to, and converted back to a String. This can lead to a cost quadratic in the number of iterations, as the growing string is recopied in each iteration.

Better performance can be obtained by using a StringBuffer (or StringBuilder in Java 1.5) explicitly.

For example:

  // This is bad
  String s = "";
  for (int i = 0; i < field.length; ++i) {
    s = s + field[i];
  }

  // This is better
  StringBuffer buf = new StringBuffer();
  for (int i = 0; i < field.length; ++i) {
    buf.append(field[i]);
  }
  String s = buf.toString();



Class is Externalizable but doesn't define a void constructor

This class implements the Externalizable interface, but does not define a void constructor. When Externalizable objects are deserialized, they first need to be constructed by invoking the void constructor. Since this class does not have one, serialization and deserialization will fail at runtime.



Comparator doesn't implement Serializable

This class implements the Comparator interface. You should consider whether or not it should also implement the Serializable interface. If a comparator is used to construct an ordered collection such as a TreeMap, then the TreeMap will be serializable only if the comparator is also serializable. As most comparators have little or no state, making them serializable is generally easy and good defensive programming.



Non-serializable value stored into instance field of a serializable class

A non-serializable value is stored into a non-transient field of a serializable class.



Non-transient non-serializable instance field in serializable class

This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or java.lang.Object, and does not appear to implement the Externalizable interface or the readObject() and writeObject() methods.  Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.



Private readResolve method not inherited by subclasses

This class defines a private readResolve method. Since it is private, it won't be inherited by subclasses. This might be intentional and OK, but should be reviewed to ensure it is what is intended.



Serializable inner class

This Serializable class is an inner class. Any attempt to serialize it will also serialize the associated outer instance. The outer instance is serializable, so this won't fail, but it might serialize a lot more data than intended. If possible, making the inner class a static inner class (also known as a nested class) should solve the problem.



Transient field that isn't set by deserialization.

This class contains a field that is updated at multiple places in the class, thus it seems to be part of the state of the class. However, since the field is marked as transient and not set in readObject or readResolve, it will contain the default value in any deserialized instance of the class.



Switch statement found where default case is missing

This method contains a switch statement where default case is missing. Usually you need to provide a default case.

Because the analysis only looks at the generated bytecode, this warning can be incorrect triggered if the default case is at the end of the switch statement and the switch statement doesn't contain break statements for other cases.



Should be a static inner class

This class is an inner class, but does not use its embedded reference to the object which created it.  This reference makes the instances of the class larger, and may keep the reference to the creator object alive longer than necessary.  If possible, the class should be made static.



Class is Serializable, but doesn't define serialVersionUID

This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.



Write to static field from instance method

This instance method writes to a static field. This is tricky to get correct if multiple instances are being manipulated, and generally bad practice.



Condition has no effect

This condition always produces the same result as the value of the involved variable was narrowed before. Probably something else was meant or condition can be removed.



Useless control flow

This method contains a useless control flow statement, where control flow continues onto the same place regardless of whether or not the branch is taken. For example, this is caused by having an empty statement block for an if statement:

    if (argv.length == 0) {
    // TODO: handle this case
    }



Method does not release lock on all exception paths

This method acquires a JSR-166 (java.util.concurrent) lock, but does not release it on all exception paths out of the method. In general, the correct idiom for using a JSR-166 lock is:

    Lock l = ...;
    l.lock();
    try {
        // do something
    } finally {
        l.unlock();
    }



Uncallable method defined in anonymous class

This anonymous class defined a method that is not directly invoked and does not override a method in a superclass. Since methods in other classes cannot directly invoke methods declared in an anonymous class, it seems that this method is uncallable. The method might simply be dead code, but it is also possible that the method is intended to override a method declared in a superclass, and due to an typo or other error the method does not, in fact, override the method it is intended to.



Private method is never called

This private method is never called. Although it is possible that the method will be invoked through reflection, it is more likely that the method is never used, and should be removed.



Uninitialized read of field in constructor

This constructor reads a field which has not yet been assigned a value.  This is often caused when the programmer mistakenly uses the field instead of one of the constructor's parameters.



Unread field

This field is never read.  Consider removing it from the class.



Unread public/protected field

This field is never read.  The field is public or protected, so perhaps it is intended to be used with classes not seen as part of the analysis. If not, consider removing it from the class.



Unused field

This field is never used.  Consider removing it from the class.



Unused public or protected field

This field is never used.  The field is public or protected, so perhaps it is intended to be used with classes not seen as part of the analysis. If not, consider removing it from the class.



Field only ever set to null

All writes to this field are of the constant value null, and thus all reads of the field will return null. Check for errors, or remove it if it is useless.



Unwritten field

This field is never written.  All reads of it will return the default value. Check for errors (should it have been initialized?), or remove it if it is useless.



Unwritten public or protected field

No writes were seen to this public/protected field.  All reads of it will return the default value. Check for errors (should it have been initialized?), or remove it if it is useless.



An increment to a volatile field isn't atomic

This code increments a volatile field. Increments of volatile fields aren't atomic. If more than one thread is incrementing the field at the same time, increments could be lost.



Wait not in loop

This method contains a call to java.lang.Object.wait() which is not in a loop.  If the monitor is used for multiple conditions, the condition the caller intended to wait for might not be the one that actually occurred.



Inefficient use of keySet iterator instead of entrySet iterator

This method accesses the value of a Map entry, using a key that was retrieved from a keySet iterator. It is more efficient to use an iterator on the entrySet of the map, to avoid the Map.get(key) lookup.