Package io.debezium.crdt
Class StateBasedPNDeltaCounter
- java.lang.Object
-
- io.debezium.crdt.StateBasedPNCounter
-
- io.debezium.crdt.StateBasedPNDeltaCounter
-
- All Implemented Interfaces:
Count
,DeltaCount
,DeltaCounter
,GCount
,GCounter
,PNCount
,PNCounter
@NotThreadSafe class StateBasedPNDeltaCounter extends StateBasedPNCounter implements DeltaCounter
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
StateBasedPNDeltaCounter()
protected
StateBasedPNDeltaCounter(long totalAdds, long totalRemoves, long recentAdds, long recentRemoves)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DeltaCounter
decrement()
Decrement the counter and get the result.long
decrementAndGet()
Decrement the counter and get the result.long
getAndDecrement()
Decrement the counter and get the result.long
getAndIncrement()
Increment the counter and get the result.PNCount
getChanges()
Get the changes in the current value during the last interval.Count
getPriorCount()
Get the value of this count prior to thechanges
.boolean
hasChanges()
Determine if there are any changes in this count.DeltaCounter
increment()
Increment the counter and get the result.long
incrementAndGet()
Increment the counter and get the result.DeltaCounter
merge(Count other)
Merge the supplied counter into this counter.void
reset()
Start a new interval and reset theDeltaCount.getChanges()
to initial values.String
toString()
-
Methods inherited from class io.debezium.crdt.StateBasedPNCounter
get, getDecrement, getIncrement
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.debezium.crdt.GCount
getIncrement
-
Methods inherited from interface io.debezium.crdt.PNCount
get, getDecrement
-
-
-
-
Field Detail
-
delta
private PNCounter delta
-
-
Method Detail
-
increment
public DeltaCounter increment()
Description copied from interface:PNCounter
Increment the counter and get the result.- Specified by:
increment
in interfaceDeltaCounter
- Specified by:
increment
in interfaceGCounter
- Specified by:
increment
in interfacePNCounter
- Overrides:
increment
in classStateBasedPNCounter
- Returns:
- this instance so methods can be chained together; never null
-
decrement
public DeltaCounter decrement()
Description copied from interface:PNCounter
Decrement the counter and get the result.- Specified by:
decrement
in interfaceDeltaCounter
- Specified by:
decrement
in interfacePNCounter
- Overrides:
decrement
in classStateBasedPNCounter
- Returns:
- this instance so methods can be chained together; never null
-
incrementAndGet
public long incrementAndGet()
Description copied from interface:GCounter
Increment the counter and get the result.- Specified by:
incrementAndGet
in interfaceGCounter
- Overrides:
incrementAndGet
in classStateBasedPNCounter
- Returns:
- the current result after incrementing
-
decrementAndGet
public long decrementAndGet()
Description copied from interface:PNCounter
Decrement the counter and get the result.- Specified by:
decrementAndGet
in interfacePNCounter
- Overrides:
decrementAndGet
in classStateBasedPNCounter
- Returns:
- the current result after decrementing
-
getAndIncrement
public long getAndIncrement()
Description copied from interface:GCounter
Increment the counter and get the result.- Specified by:
getAndIncrement
in interfaceGCounter
- Overrides:
getAndIncrement
in classStateBasedPNCounter
- Returns:
- the current result before incrementing
-
getAndDecrement
public long getAndDecrement()
Description copied from interface:PNCounter
Decrement the counter and get the result.- Specified by:
getAndDecrement
in interfacePNCounter
- Overrides:
getAndDecrement
in classStateBasedPNCounter
- Returns:
- the current result before decrementing
-
getChanges
public PNCount getChanges()
Description copied from interface:DeltaCount
Get the changes in the current value during the last interval.- Specified by:
getChanges
in interfaceDeltaCount
- Returns:
- the changes in the value during the last interval; never null
-
hasChanges
public boolean hasChanges()
Description copied from interface:DeltaCount
Determine if there are any changes in this count.- Specified by:
hasChanges
in interfaceDeltaCount
- Returns:
true
if there are non-zerochanges
, orfalse
otherwise
-
getPriorCount
public Count getPriorCount()
Description copied from interface:DeltaCount
Get the value of this count prior to thechanges
.- Specified by:
getPriorCount
in interfaceDeltaCount
- Returns:
- the prior count; never null
-
reset
public void reset()
Description copied from interface:DeltaCounter
Start a new interval and reset theDeltaCount.getChanges()
to initial values.- Specified by:
reset
in interfaceDeltaCounter
-
merge
public DeltaCounter merge(Count other)
Description copied from interface:PNCounter
Merge the supplied counter into this counter.- Specified by:
merge
in interfaceDeltaCounter
- Specified by:
merge
in interfaceGCounter
- Specified by:
merge
in interfacePNCounter
- Overrides:
merge
in classStateBasedPNCounter
- Parameters:
other
- the other counter to merge into this one; may be null- Returns:
- this counter so that methods can be chained
-
toString
public String toString()
- Overrides:
toString
in classStateBasedPNCounter
-
-