Package org.drools.core.rule
Class SlidingTimeWindow
- java.lang.Object
-
- org.drools.core.rule.SlidingTimeWindow
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,java.lang.Cloneable,org.drools.base.rule.Behavior,org.drools.base.rule.RuleComponent,BehaviorRuntime
public class SlidingTimeWindow extends java.lang.Object implements java.io.Externalizable, BehaviorRuntime
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSlidingTimeWindow.BehaviorExpireWMActionstatic classSlidingTimeWindow.BehaviorJobstatic classSlidingTimeWindow.BehaviorJobContextstatic classSlidingTimeWindow.SlidingTimeWindowContext
-
Constructor Summary
Constructors Constructor Description SlidingTimeWindow()SlidingTimeWindow(long size)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanassertFact(java.lang.Object context, org.kie.api.runtime.rule.FactHandle fact, PropagationContext pctx, ReteEvaluator reteEvaluator)Makes the behavior aware of the new fact entering behavior's scopeBehaviorContextcreateContext()Creates the context object associated with this behavior.voidexpireFacts(java.lang.Object context, PropagationContext pctx, ReteEvaluator reteEvaluator)A callback method that allows behaviors to expire factslonggetExpirationOffset()Some behaviors might change the expiration offset for the associated fact type.longgetSize()org.drools.base.rule.Behavior.BehaviorTypegetType()Returns the type of the behaviorprotected booleanisExpired(long currentTime, DefaultEventHandle handle)voidreadExternal(java.io.ObjectInput in)voidretractFact(java.lang.Object context, org.kie.api.runtime.rule.FactHandle fact, PropagationContext pctx, ReteEvaluator reteEvaluator)Removes a right tuple from the behavior's scopevoidsetSize(long size)voidsetWindowNode(WindowNode windowNode)java.lang.StringtoString()protected voidupdateNextExpiration(InternalFactHandle fact, ReteEvaluator reteEvaluator, BehaviorContext context, int nodeId)voidwriteExternal(java.io.ObjectOutput out)
-
-
-
Method Detail
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
getType
public org.drools.base.rule.Behavior.BehaviorType getType()
Description copied from interface:BehaviorRuntimeReturns the type of the behavior- Specified by:
getTypein interfaceorg.drools.base.rule.Behavior- Specified by:
getTypein interfaceBehaviorRuntime
-
setWindowNode
public void setWindowNode(WindowNode windowNode)
-
getSize
public long getSize()
- Returns:
- the size
-
setSize
public void setSize(long size)
- Parameters:
size- the size to set
-
createContext
public BehaviorContext createContext()
Description copied from interface:BehaviorRuntimeCreates the context object associated with this behavior. The object is given as a parameter in all behavior call backs.- Specified by:
createContextin interfaceBehaviorRuntime
-
assertFact
public boolean assertFact(java.lang.Object context, org.kie.api.runtime.rule.FactHandle fact, PropagationContext pctx, ReteEvaluator reteEvaluator)Description copied from interface:BehaviorRuntimeMakes the behavior aware of the new fact entering behavior's scope- Specified by:
assertFactin interfaceBehaviorRuntime- Parameters:
context- The behavior context objectfact- The new fact entering behavior's scope- Returns:
- true if the propagation should continue, false otherwise. I.e., the behaviour has veto power over the fact propagation, and prevents the propagation to continue if returns false on this method.
-
retractFact
public void retractFact(java.lang.Object context, org.kie.api.runtime.rule.FactHandle fact, PropagationContext pctx, ReteEvaluator reteEvaluator)Description copied from interface:BehaviorRuntimeRemoves a right tuple from the behavior's scope- Specified by:
retractFactin interfaceBehaviorRuntime- Parameters:
context- The behavior context objectfact- The fact leaving the behavior's scope
-
expireFacts
public void expireFacts(java.lang.Object context, PropagationContext pctx, ReteEvaluator reteEvaluator)Description copied from interface:BehaviorRuntimeA callback method that allows behaviors to expire facts- Specified by:
expireFactsin interfaceBehaviorRuntime
-
isExpired
protected boolean isExpired(long currentTime, DefaultEventHandle handle)
-
updateNextExpiration
protected void updateNextExpiration(InternalFactHandle fact, ReteEvaluator reteEvaluator, BehaviorContext context, int nodeId)
-
getExpirationOffset
public long getExpirationOffset()
Description copied from interface:BehaviorRuntimeSome behaviors might change the expiration offset for the associated fact type. Example: time sliding windows. For these behaviors, this method must return the expiration offset associated to them.- Specified by:
getExpirationOffsetin interfaceorg.drools.base.rule.Behavior- Specified by:
getExpirationOffsetin interfaceBehaviorRuntime- Returns:
- the expiration offset for this behavior or -1 if they don't have a time based expiration offset.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-