Package

com.eharmony.aloha.semantics

func

Permalink

package func

Visibility
  1. Public
  2. All

Type Members

  1. case class EnrichedErrorGenAggFunc[-A, +B](unsafe: GenAggFunc[A, B]) extends GenAggFunc[A, B] with Product with Serializable

    Permalink

    A wrapper around an unsafe GenAggFunc that will catch exceptions and rethrow com.eharmony.aloha.semantics.SemanticsUdfException with the appropriate information filled in.

    A wrapper around an unsafe GenAggFunc that will catch exceptions and rethrow com.eharmony.aloha.semantics.SemanticsUdfException with the appropriate information filled in.

    A

    input type of the function

    B

    output type of the function

    unsafe

    an unsafe GenAggFunc that can throw exceptions.

  2. sealed trait GenAggFunc[-A, +B] extends (A) ⇒ B

    Permalink

    A trait for generated functions that aggregate the values of other functions.

    A trait for generated functions that aggregate the values of other functions. NOTE: It is important that subclasses place the aggregated function first. This allows the accessors function to work properly. We seal this trait because the cast is dangerous if someone else improperly extends this trait.

    A

    input type of the function

    B

    output type of the function

  3. case class GenAggFuncAccessorProblems(missing: Seq[String], errors: Seq[String]) extends Product with Serializable

    Permalink
  4. case class GenFunc0[-A, +B](specification: String, f: (A) ⇒ B) extends GenAggFunc[A, B] with Product with Serializable

    Permalink
  5. case class GenFunc1[-A, B1, +C](specification: String, f: (B1) ⇒ C, f1: GeneratedAccessor[A, B1]) extends GenAggFunc[A, C] with Product with Serializable

    Permalink
  6. case class GenFunc10[-A, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, +C](specification: String, f: (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10) ⇒ C, f1: GeneratedAccessor[A, B1], f2: GeneratedAccessor[A, B2], f3: GeneratedAccessor[A, B3], f4: GeneratedAccessor[A, B4], f5: GeneratedAccessor[A, B5], f6: GeneratedAccessor[A, B6], f7: GeneratedAccessor[A, B7], f8: GeneratedAccessor[A, B8], f9: GeneratedAccessor[A, B9], f10: GeneratedAccessor[A, B10]) extends GenAggFunc[A, C] with Product with Serializable

    Permalink
  7. case class GenFunc2[-A, B1, B2, +C](specification: String, f: (B1, B2) ⇒ C, f1: GeneratedAccessor[A, B1], f2: GeneratedAccessor[A, B2]) extends GenAggFunc[A, C] with Product with Serializable

    Permalink
  8. case class GenFunc3[-A, B1, B2, B3, +C](specification: String, f: (B1, B2, B3) ⇒ C, f1: GeneratedAccessor[A, B1], f2: GeneratedAccessor[A, B2], f3: GeneratedAccessor[A, B3]) extends GenAggFunc[A, C] with Product with Serializable

    Permalink
  9. case class GenFunc4[-A, B1, B2, B3, B4, +C](specification: String, f: (B1, B2, B3, B4) ⇒ C, f1: GeneratedAccessor[A, B1], f2: GeneratedAccessor[A, B2], f3: GeneratedAccessor[A, B3], f4: GeneratedAccessor[A, B4]) extends GenAggFunc[A, C] with Product with Serializable

    Permalink
  10. case class GenFunc5[-A, B1, B2, B3, B4, B5, +C](specification: String, f: (B1, B2, B3, B4, B5) ⇒ C, f1: GeneratedAccessor[A, B1], f2: GeneratedAccessor[A, B2], f3: GeneratedAccessor[A, B3], f4: GeneratedAccessor[A, B4], f5: GeneratedAccessor[A, B5]) extends GenAggFunc[A, C] with Product with Serializable

    Permalink
  11. case class GenFunc6[-A, B1, B2, B3, B4, B5, B6, +C](specification: String, f: (B1, B2, B3, B4, B5, B6) ⇒ C, f1: GeneratedAccessor[A, B1], f2: GeneratedAccessor[A, B2], f3: GeneratedAccessor[A, B3], f4: GeneratedAccessor[A, B4], f5: GeneratedAccessor[A, B5], f6: GeneratedAccessor[A, B6]) extends GenAggFunc[A, C] with Product with Serializable

    Permalink
  12. case class GenFunc7[-A, B1, B2, B3, B4, B5, B6, B7, +C](specification: String, f: (B1, B2, B3, B4, B5, B6, B7) ⇒ C, f1: GeneratedAccessor[A, B1], f2: GeneratedAccessor[A, B2], f3: GeneratedAccessor[A, B3], f4: GeneratedAccessor[A, B4], f5: GeneratedAccessor[A, B5], f6: GeneratedAccessor[A, B6], f7: GeneratedAccessor[A, B7]) extends GenAggFunc[A, C] with Product with Serializable

    Permalink
  13. case class GenFunc8[-A, B1, B2, B3, B4, B5, B6, B7, B8, +C](specification: String, f: (B1, B2, B3, B4, B5, B6, B7, B8) ⇒ C, f1: GeneratedAccessor[A, B1], f2: GeneratedAccessor[A, B2], f3: GeneratedAccessor[A, B3], f4: GeneratedAccessor[A, B4], f5: GeneratedAccessor[A, B5], f6: GeneratedAccessor[A, B6], f7: GeneratedAccessor[A, B7], f8: GeneratedAccessor[A, B8]) extends GenAggFunc[A, C] with Product with Serializable

    Permalink
  14. case class GenFunc9[-A, B1, B2, B3, B4, B5, B6, B7, B8, B9, +C](specification: String, f: (B1, B2, B3, B4, B5, B6, B7, B8, B9) ⇒ C, f1: GeneratedAccessor[A, B1], f2: GeneratedAccessor[A, B2], f3: GeneratedAccessor[A, B3], f4: GeneratedAccessor[A, B4], f5: GeneratedAccessor[A, B5], f6: GeneratedAccessor[A, B6], f7: GeneratedAccessor[A, B7], f8: GeneratedAccessor[A, B8], f9: GeneratedAccessor[A, B9]) extends GenAggFunc[A, C] with Product with Serializable

    Permalink
  15. case class GeneratedAccessor[-A, +B](descriptor: String, function: (A) ⇒ B, code: Option[String] = None) extends (A) ⇒ B with Product with Serializable

    Permalink

    An extractor function containing additional information about itself.

    An extractor function containing additional information about itself.

    A

    data type from which we would like to extract a value of type B

    B

    the type of data we want to extract from type A.

    descriptor

    A descriptor of the data being extracted from data input of type A

    function

    The actual function used to extract the data from type A.

    code

    The (optional) code implementation of the function

  16. case class OptionalFunc[-A, +B](function: GenAggFunc[A, Option[B]], default: B) extends GenAggFunc[A, B] with Product with Serializable

    Permalink

Value Members

  1. object GenFunc

    Permalink

    Provides a series of functions that create instances of GenFuncN.

    Provides a series of functions that create instances of GenFuncN. These are preferable to calling the class constructors directly because we can completely avoid specifying typing information do to the multiple argument lists in the functions. This helps especially when generating code via multi-stage programming.

Ungrouped