Package

com.eharmony.aloha.dataset.csv

json

Permalink

package json

Visibility
  1. Public
  2. All

Type Members

  1. sealed trait CsvColumn extends AnyRef

    Permalink

    Note that the codomain of functions produced from a CsvColumn, c, is Option[c.ColType].

    Note that the codomain of functions produced from a CsvColumn, c, is Option[c.ColType]. This is so that functions with optional variables can be treated the same way as functions with no variables or only required variables. In order to accomplish this, we need to use Option so that if a variable is missing the feature output is None. If all variables are present, it can be a Some that wraps the user-designed feature's functionality.

    We can go even further and allow the feature author to return an Option directly and then fall back to the defVal prodvided in the specification if the function returns None.

    This is how the feature function compilation works. It does something like the following:

    val semantics: CompiledSemantics[A] = ???
    val c: CsvColumn = ???
    
    val f = semantics.createFunction[Option[c.ColType]](c.wrappedSpec, Some(c.defVal))(c.refInfo)
    
    f match {
      case Right(success) => success.andThenGenAggFunc(_ orElse c.defVal)
    }
  2. final case class CsvColumnWithDefault[C](name: String, spec: String, defVal: Option[C] = None)(implicit evidence$10: RefInfo[C], evidence$11: JsonReader[C]) extends CsvColumnLikeWithDefault[C] with Product with Serializable

    Permalink
  3. final case class CsvJson(imports: Seq[String], features: IndexedSeq[CsvColumn], separator: Option[String], nullValue: Option[String], encoding: Option[Encoding]) extends Product with Serializable

    Permalink
  4. final case class DefaultCsvColumn(name: String, spec: String) extends CsvColumn with ScalarBasedColumn with Product with Serializable

    Permalink
  5. sealed trait EncodingBasedColumn extends AnyRef

    Permalink
  6. final case class EnumCsvColumn(name: String, spec: String, enumClass: String) extends CsvColumn with EncodingBasedColumn with Product with Serializable

    Permalink
  7. final case class OptionCsvColumnWithDefault[C](name: String, spec: String, defVal: Option[C] = None)(implicit evidence$2: JsonReader[C], evidence$3: RefInfo[C]) extends CsvColumnLikeWithDefault[C] with Product with Serializable

    Permalink
  8. final case class OptionEnumCsvColumn[E <: Enum[E]](name: String, spec: String, enumClass: String, defVal: Option[E] = None) extends CsvColumn with EncodingBasedColumn with Product with Serializable

    Permalink
  9. final case class OptionSeqCsvColumnWithNoDefault[C](name: String, spec: String, size: Int)(implicit evidence$8: JsonReader[C], evidence$9: RefInfo[C]) extends SeqCsvColumnLikeWithNoDefault[C] with Product with Serializable

    Permalink
  10. final case class OptionSyntheticEnumCsvColumn(name: String, spec: String, values: Seq[String], defVal: Option[String] = None) extends SyntheticEnumLikeCsvColumn with Product with Serializable

    Permalink
  11. sealed trait ScalarBasedColumn extends AnyRef

    Permalink
  12. final case class SeqCsvColumnWithNoDefault[C](name: String, spec: String, size: Int)(implicit evidence$6: JsonReader[C], evidence$7: RefInfo[C]) extends SeqCsvColumnLikeWithNoDefault[C] with Product with Serializable

    Permalink
  13. final case class SyntheticEnumCsvColumn(name: String, spec: String, values: Seq[String], defVal: Option[String] = None) extends SyntheticEnumLikeCsvColumn with Product with Serializable

    Permalink

Value Members

  1. object CsvColumn extends DefaultJsonProtocol with Logging

    Permalink
  2. object CsvJson extends DefaultJsonProtocol with Serializable

    Permalink
  3. object OptionEnumCsvColumn extends Serializable

    Permalink

Ungrouped