Packages

  • package root
    Definition Classes
    root
  • package microtesia

    Documentation for the Microtesia microdata parsing library.

    Documentation for the Microtesia microdata parsing library.

    Usage

    To use simply put the Microtesia API in scope and call the parseMicrodata function as follows:

    scala> import microtesia._
    import microtesia.
    
    scala> import scala.util.Try
    import scala.util.Try
    
    scala> parseMicrodata("""<div itemscope itemtype="http://schema.org/Movie"><h1 itemprop="name">Avatar</h1></div>""")
    res0: Try[microtesia.MicrodataDocument] = Success(MicrodataDocument(List(MicrodataItem(ArrayBuffer((name,MicrodataString(Avatar))),Some(http://schema.org/Movie),None))))
    Definition Classes
    root
  • package formats

    API to automatically de-serialise MicrodataValue instances into value types and case classes.

    API to automatically de-serialise MicrodataValue instances into value types and case classes.

    Usage

    To use simply put the Microtesia Formats API in scope (with the Microtesia API). This enriches MicrodataValue instances with the EnrichedMicrodataValue.convertTo method which you can use to parse microdata as follows:

    scala> import microtesia._
    import microtesia._
    
    scala> import formats._
    import formats._
    
    scala> import scala.util.Try
    import scala.util.Try
    
    scala> case class Person(name: String, age: Int, adult: Boolean)
    defined class Person
    
    scala>  MicrodataItem(
              Seq(
                ("name", MicrodataString("hello")),
                ("age", MicrodataString("13")),
                ("adult", MicrodataString("true"))
              )
            ).convertTo[Person]
    res0: Try[Person] = Success(Person(hello,13,true))
    Definition Classes
    microtesia
  • CannotConvert
  • CollectionFormats
  • EnrichedMicrodataDocument
  • EnrichedMicrodataValue
  • HNilFormat
  • LinkFormat
  • MicrodataFormat
  • MicrodataPropertyFormat
  • RichTypeFormats
  • ShapelessFormats
  • SimpleTypeFormats
p

microtesia

formats

package formats

API to automatically de-serialise MicrodataValue instances into value types and case classes.

Usage

To use simply put the Microtesia Formats API in scope (with the Microtesia API). This enriches MicrodataValue instances with the EnrichedMicrodataValue.convertTo method which you can use to parse microdata as follows:

scala> import microtesia._
import microtesia._

scala> import formats._
import formats._

scala> import scala.util.Try
import scala.util.Try

scala> case class Person(name: String, age: Int, adult: Boolean)
defined class Person

scala>  MicrodataItem(
          Seq(
            ("name", MicrodataString("hello")),
            ("age", MicrodataString("13")),
            ("adult", MicrodataString("true"))
          )
        ).convertTo[Person]
res0: Try[Person] = Success(Person(hello,13,true))
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. formats
  2. ShapelessFormats
  3. CollectionFormats
  4. RichTypeFormats
  5. SimpleTypeFormats
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class CannotConvert(c: Class[_], value: MicrodataValue) extends Exception with Product with Serializable
  2. trait CollectionFormats extends AnyRef

    Implicit microdata formats for common collection types, including Seq and Option.

    Implicit microdata formats for common collection types, including Seq and Option. This needs to be in scope to support automatic conversion of these types. It is include as part of the formats package object.

  3. implicit class EnrichedMicrodataDocument extends AnyRef

    Implicit typeclass to enrich MicrodataDocument instances with the convertRootsTo method.

  4. implicit class EnrichedMicrodataValue extends AnyRef

    Implicit typeclass to enrich MicrodataValue instances with the convertTo method.

  5. trait MicrodataFormat[T] extends AnyRef

    Trait for implicit formatters to de-serialize microdata values to hard types.

    Trait for implicit formatters to de-serialize microdata values to hard types. You can define custom formats as follows:

    scala> import microtesia._
    import microtesia._
    
    scala> import formats._
    import formats._
    
    scala> import java.time._
    import java.time._
    
    scala> import scala.util.{Failure, Success, Try}
    import scala.util.{Failure, Success, Try}
    
    scala> implicit val dateFormat = new MicrodataFormat[LocalDate] {
         |  override def read(microdata: MicrodataValue): Try[LocalDate] = microdata match {
         |    case MicrodataString(value)  => Success(LocalDate.parse(value))
         |    case other                   => Failure(CannotConvert(classOf[LocalDate], other))
         |  }
         | }
    dateFormat: microtesia.formats.MicrodataFormat[java.time.LocalDate] = $anon$1@4fa4e3b6
    
    scala> MicrodataString("2016-01-01").convertTo[LocalDate]
    res0: Try[java.time.LocalDate] = Success(2016-01-01)
    Annotations
    @implicitNotFound( ... )
  6. trait MicrodataPropertyFormat[T] extends AnyRef

    Trait for implicit formatters to de-serialize microdata properties.

    Trait for implicit formatters to de-serialize microdata properties. Mostly used internally.

    Annotations
    @implicitNotFound( ... )
  7. trait RichTypeFormats extends AnyRef

    Implicit microdata formats for rich data types, including URI.

    Implicit microdata formats for rich data types, including URI. This needs to be in scope to support automatic conversion of these types. It is include as part of the formats package object.

  8. trait ShapelessFormats extends AnyRef

    Implicit microdata formats for case classes using [shapeless].

    Implicit microdata formats for case classes using [shapeless]. This needs to be in scope to support automatic conversion of case classes. It is include as part of the formats package object.

  9. trait SimpleTypeFormats extends AnyRef

    Implicit microdata formats for simple types, including String or value types like Int.

    Implicit microdata formats for simple types, including String or value types like Int. This needs to be in scope to support automatic conversion of these types. It is include as part of the formats package object.

Value Members

  1. implicit def caseClassFormat[T, Repr](implicit generic: Aux[T, Repr], format: Lazy[MicrodataFormat[Repr]]): MicrodataFormat[T]

    Implicit MicrodataFormat to convert MicrodataValues to case classes.

    Implicit MicrodataFormat to convert MicrodataValues to case classes.

    Definition Classes
    ShapelessFormats
  2. implicit val defaultBooleanFormat: MicrodataFormat[Boolean]

    Implicit MicrodataFormat to convert multiple microdata values to Boolean.

    Implicit MicrodataFormat to convert multiple microdata values to Boolean.

    Definition Classes
    SimpleTypeFormats
  3. implicit val defaultDoubleFormat: MicrodataFormat[Double]

    Implicit MicrodataFormat to convert multiple microdata values to Double.

    Implicit MicrodataFormat to convert multiple microdata values to Double.

    Definition Classes
    SimpleTypeFormats
  4. implicit val defaultFloatFormat: MicrodataFormat[Float]

    Implicit MicrodataFormat to convert multiple microdata values to Float.

    Implicit MicrodataFormat to convert multiple microdata values to Float.

    Definition Classes
    SimpleTypeFormats
  5. implicit val defaultIntFormat: MicrodataFormat[Int]

    Implicit MicrodataFormat to convert multiple microdata values to Int.

    Implicit MicrodataFormat to convert multiple microdata values to Int.

    Definition Classes
    SimpleTypeFormats
  6. implicit val defaultLongFormat: MicrodataFormat[Long]

    Implicit MicrodataFormat to convert multiple microdata values to Long.

    Implicit MicrodataFormat to convert multiple microdata values to Long.

    Definition Classes
    SimpleTypeFormats
  7. implicit val defaultShortFormat: MicrodataFormat[Short]

    Implicit MicrodataFormat to convert multiple microdata values to Short.

    Implicit MicrodataFormat to convert multiple microdata values to Short.

    Definition Classes
    SimpleTypeFormats
  8. implicit val defaultStringFormat: MicrodataFormat[String]

    Implicit MicrodataFormat to convert multiple microdata values to String.

    Implicit MicrodataFormat to convert multiple microdata values to String.

    Definition Classes
    SimpleTypeFormats
  9. implicit def hlistFormat[Key <: Symbol, Value, Remaining <: HList](implicit key: Aux[Key], mfh: Lazy[MicrodataPropertyFormat[Value]], mft: Lazy[MicrodataFormat[Remaining]]): MicrodataFormat[::[FieldType[Key, Value], Remaining]]

    Implicit MicrodataFormat to convert MicrodataValues to HLists.

    Implicit MicrodataFormat to convert MicrodataValues to HLists.

    Definition Classes
    ShapelessFormats
  10. implicit def listFormat[T](implicit format: MicrodataFormat[T]): MicrodataPropertyFormat[List[T]]

    Implicit MicrodataFormat to convert multiple microdata properties to scala.List.

    Implicit MicrodataFormat to convert multiple microdata properties to scala.List.

    Definition Classes
    CollectionFormats
  11. implicit def optionFormat[T](implicit format: MicrodataFormat[T]): MicrodataPropertyFormat[Option[T]]

    Implicit MicrodataFormat to convert optional microdata properties to scala.Option.

    Implicit MicrodataFormat to convert optional microdata properties to scala.Option.

    Definition Classes
    CollectionFormats
  12. implicit def seqFormat[T](implicit format: MicrodataFormat[T]): MicrodataPropertyFormat[Seq[T]]

    Implicit MicrodataFormat to convert multiple microdata properties to scala.Seq.

    Implicit MicrodataFormat to convert multiple microdata properties to scala.Seq.

    Definition Classes
    CollectionFormats
  13. implicit def setFormat[T](implicit format: MicrodataFormat[T]): MicrodataPropertyFormat[Set[T]]

    Implicit MicrodataFormat to convert multiple microdata properties to scala.Set.

    Implicit MicrodataFormat to convert multiple microdata properties to scala.Set.

    Definition Classes
    CollectionFormats
  14. implicit def simplePropertyFormat[T](implicit format: MicrodataFormat[T]): MicrodataPropertyFormat[T]

    Implicit MicrodataPropertyFormat to convert simple microdata properties.

    Implicit MicrodataPropertyFormat to convert simple microdata properties.

    Definition Classes
    ShapelessFormats
  15. implicit object LinkFormat extends MicrodataFormat[URI]

    Implicit MicrodataFormat to convert MicrodataValues to URI.

    Implicit MicrodataFormat to convert MicrodataValues to URI.

    Definition Classes
    RichTypeFormats
  16. implicit object HNilFormat extends MicrodataFormat[HNil]

    Implicit MicrodataFormat to convert MicrodataValues to empty HLists.

    Implicit MicrodataFormat to convert MicrodataValues to empty HLists.

    Definition Classes
    ShapelessFormats

Inherited from ShapelessFormats

Inherited from CollectionFormats

Inherited from RichTypeFormats

Inherited from SimpleTypeFormats

Inherited from AnyRef

Inherited from Any

Ungrouped