Packages

  • package root
    Definition Classes
    root
  • package squants

    The Scala API for Quantities, Units of Measure and Dimensional Analysis

    Squants

    The Scala API for Quantities, Units of Measure and Dimensional Analysis

    Overview

    Squants is a framework of data types and a domain specific language (DSL) for representing Quantities, their Units of Measure, and their Dimensional relationships. The API supports typesafe dimensional analysis, improved domain models and more. All types are immutable and thread-safe.

    Typedefs and implicits for common usages

    Definition Classes
    root
    Version

    0.1

    Since

    0.1

  • package market

    Squants Market API

    Squants Market API

    Market Types are similar but not quite the same as other quantities in the library.

    The primary type, squants.market.Money, is derived from Quantity, and its Units of Measure are Currencies. However, because the conversion multipliers between units can not be predefined, many of the behaviors have been overridden and augmented to realize correct behavior.

    squants.market.Prices represent a Ratio between Money and some other Quantity. Prices can be created from ratios of Money and a Quantity

    val money: Money = USD(10)
    val length: Length = Meters(1)
    val price: Price[Length] = money / length

    Multiplying a Price * Quantity will yield Money amount that represents the cost of the quantity

    val cost: Money = price * Meters(3.8)

    and multiplying Price * Money will yield the corresponding Quantity amount

    val budget: Money = USD(250)
    val quote: Length = price * budget

    squants.market.CurrencyExchangeRates represent conversion rates between currencies. Use them to explicitly convert Money values in one currency to values in another.

    squants.market.MoneyContext provide the implicit context necessary to perform cross-currency operations on Money values with conversions automatically applied.

    Some binary math operations will work on Moneys of like Currency with no MoneyContext in scope. Attempts to perform these operations on Moneys of dissimilar currencies will throw an exception at runtime.

    Other operations, including direct conversions to other currencies, require a MoneyContext and will not compile without it. However, there is no compile time check to determine if the correct exchange rates will be available at runtime. Operation requiring conversion without the required rates available will throw a NoSuchExchangeRateException at runtime.

    The defaultMoneyContext uses the USD as the default and provides a list of ~20 common currencies, and NO exchange rates. If your application requires something different you should initialize your own implicit MoneyContext

    Definition Classes
    squants
    Since

    0.1

  • ARS
  • AUD
  • BRL
  • BTC
  • CAD
  • CHF
  • CLP
  • CNY
  • CZK
  • Currency
  • CurrencyExchangeRate
  • DKK
  • ETH
  • EUR
  • GBP
  • HKD
  • INR
  • JPY
  • KRW
  • LTC
  • MXN
  • MYR
  • Money
  • MoneyContext
  • MoneyConversions
  • NAD
  • NOK
  • NZD
  • NoSuchCurrencyException
  • NoSuchExchangeRateException
  • Price
  • RUB
  • SEK
  • USD
  • XAG
  • XAU
  • ZAR

object SEK extends Currency

Source
Money.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SEK
  2. Currency
  3. UnitOfMeasure
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def /(that: Money): CurrencyExchangeRate
    Definition Classes
    Currency
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. def apply[A](n: A)(implicit num: Numeric[A]): Money

    Factory method for creating instances of a Quantity in this UnitOfMeasure

    Factory method for creating instances of a Quantity in this UnitOfMeasure

    n

    N - the Quantity's value in terms of this UnitOfMeasure

    Definition Classes
    CurrencyUnitOfMeasure
  6. def apply(d: BigDecimal): Money
    Definition Classes
    Currency
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. val code: String
    Definition Classes
    Currency
  10. final def convertFrom[N](n: N)(implicit num: Numeric[N]): Double

    Applies the converterFrom method to a value

    Applies the converterFrom method to a value

    N

    Type

    n

    N value in terms of this Unit

    num

    Numeric[N]

    Definition Classes
    UnitOfMeasure
  11. final def convertTo[N](n: N)(implicit num: Numeric[N]): Double

    Applies the converterTo method to a value

    Applies the converterTo method to a value

    N

    Type

    n

    N value in terms of the ValueUnit

    num

    Numeric[N]

    Definition Classes
    UnitOfMeasure
  12. def converterFrom: (Double) => Double

    Defines a signature for converting a quantity from this UOM to the Value UOM

    Defines a signature for converting a quantity from this UOM to the Value UOM

    Attributes
    protected
    Definition Classes
    CurrencyUnitOfMeasure
  13. def converterTo: (Double) => Double

    Defines a signature for converting a quantity to this UOM from the Value UOM

    Defines a signature for converting a quantity to this UOM from the Value UOM

    Attributes
    protected
    Definition Classes
    CurrencyUnitOfMeasure
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  17. val formatDecimals: Int
    Definition Classes
    Currency
  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. val name: String
    Definition Classes
    Currency
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. val symbol: String

    Symbol used when representing Quantities in this UnitOfMeasure

    Symbol used when representing Quantities in this UnitOfMeasure

    Definition Classes
    CurrencyUnitOfMeasure
  26. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    Currency → AnyRef → Any
  28. def unapply(q: Money): Some[Double]

    Extractor method for getting the Numeric value of a Quantity in this UnitOfMeasure

    Extractor method for getting the Numeric value of a Quantity in this UnitOfMeasure

    q

    A - The Quantity being matched

    Definition Classes
    UnitOfMeasure
  29. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  30. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  31. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Currency

Inherited from UnitOfMeasure[Money]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped