Packages

  • package root
    Definition Classes
    root
  • package com
    Definition Classes
    root
  • package silectis
    Definition Classes
    com
  • package magpie

    Core Magpie functionality.

    Core Magpie functionality. The main entry point is com.silectis.magpie.MagpieContext, which provides the ability to run commands, execute SQL, and more. It is available as mc in scala script tasks and scala notebook blocks.

    Definition Classes
    silectis
  • package time
    Definition Classes
    magpie
  • object MagpieInstant

    Utility for creating millisecond-precision java.time.Instant values in production code.

    Utility for creating millisecond-precision java.time.Instant values in production code.

    On Java 9+, the JDK clock can produce instants with sub-millisecond (typically microsecond) precision; on Java 8 it was millisecond-resolution. We deliberately normalize all instants to millisecond precision so behavior matches the pre-Java-9 baseline and, crucially, so that an in-memory instant compares equal to the same instant after it is persisted to and read back from the database.

    The normalization is enforced in two places that must stay in sync:

    1. Here, when instants are created (now() and toMagpieInstant). 2. At the Slick column boundary in com.silectis.magpie.metadata.db.InstantColumnType, which truncates on both write and read.

    The millisecond cap is our own choice, not a limitation of the storage layer: both java.sql.Timestamp and a PostgreSQL timestamp column can hold sub-millisecond values, so the DB-boundary truncation is NOT redundant with this utility and must not be removed. Instants that are serialized outside the Slick column mapping (for example embedded in a JSON details blob via Play JSON) bypass that boundary, so those call sites must use MagpieInstant.now() as well.

    Prefer MagpieInstant.now() over the JDK clock throughout the codebase; a scalastyle rule (customId instant.now) enforces this.

    Definition Classes
    time
  • InstantOps

implicit class InstantOps extends AnyRef

Adds a toMagpieInstant method to any java.time.Instant that truncates it to millisecond precision for database compatibility.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InstantOps
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new InstantOps(instant: Instant)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toMagpieInstant: Instant
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  18. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped