object DefaultAggregationOps extends AggregationOps
The default aggregation ops implementation.
Values are allowed to be aggregated together under the following conditions: - All are the same type - The type is either GROUP, SERIES, liquid ASSET, TOPL without staking registration, or LVL
Liquid ASSET denotes an ASSET with a quantity descriptor of LIQUID. Other quantity types (IMMUTABLE, FRACTIONABLE, and ACCUMULATOR) are not allowed to be aggregated with this default implementation.
TOPL without staking registration denotes a TOPL with the staking registration field set to "None". TOPLs with this field set are not allowed to be de-aggregated with this default implementation. In-use, this only affects the "aggregateWithChange" function since it deals with de-aggregation to compute change. Aggregation is not an issue for TOPLs with this field set since this field is expected to be unique among all TOPLs (i.e, there should not be multiple TOPLs to aggregate together).
- Alphabetic
- By Inheritance
- DefaultAggregationOps
- AggregationOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def aggregate(values: Seq[Value]): Seq[Value]
Aggregates the quantities of a sequence of values if allowable.
Aggregates the quantities of a sequence of values if allowable. If aggregation is not allowable, the values are returned unchanged. Whether aggregation is allowable depends on the implementation.
- values
The values to aggregate
- returns
The aggregated values
- Definition Classes
- DefaultAggregationOps → AggregationOps
- def aggregateWithChange(values: Seq[Value], amount: Option[BigInt]): (Seq[Value], Seq[Value])
Aggregates the quantities of a sequence of values if allowable, and given an amount, partitions the result of aggregation into 2 groups: the values that satisfy the amount and the change values that do not.
Aggregates the quantities of a sequence of values if allowable, and given an amount, partitions the result of aggregation into 2 groups: the values that satisfy the amount and the change values that do not.
If aggregation is not allowable, the values are returned unchanged and there will be no change. If amount is not specified OR the quantities are not enough to satisfy the amount, there will be no change
- values
The values to aggregate
- amount
The amount used to calculate change
- returns
The aggregated values and the change values
- Definition Classes
- DefaultAggregationOps → AggregationOps
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)