src/Pure/General/uuid.scala
author Lukas Stevens <mail@lukas-stevens.de>
Fri, 22 Jul 2022 14:21:53 +0000
changeset 75670 acf86c9f7698
parent 75393 87ebf5a50283
child 77345 a9decfa36e30
permissions -rw-r--r--
fix document build error

/*  Title:      Pure/General/uuid.scala
    Author:     Makarius

Universally unique identifiers.
*/

package isabelle


object UUID {
  type T = java.util.UUID

  def random(): T = java.util.UUID.randomUUID()

  def unapply(s: String): Option[T] =
    try { Some(java.util.UUID.fromString(s)) }
    catch { case _: IllegalArgumentException => None }

  def unapply(body: XML.Body): Option[T] = unapply(XML.content(body))
}