Create a plugin that can generate code for TSV lines.
A representation of one line of CSV data.
A representation of one line of CSV data.
The actual string line representing the data.
A mapping from column name to column index
A mapping from column name to enumerated type. This allows java-like enum syntax to be used
the between-column separator
separator within a column that allows vector-based input for given columns
a function that determines if the data in a given field or in a given position in a vector-based field is missing.
a function that given a field name optionally produces a function from field value to an enumerated type.
an object responsible for the failure policy when an optional field or a field of vector of optional is provided with bad data.
A class capable of efficiently creating CsvLine objects.
A class capable of efficiently creating CsvLine objects.
a mapping from field name to field index (0-based)
a mapping from field name to emulated Enum type.
field separator (between fields)
intra-field separator (within fields, for use in sequence data)
a function that determines if the data in an optional field is considered missing
should an error occur when an optional field is request for a non-existent column name.
should an error occur when an optional enum field is request for a column not associated with any enum.
This class is designed to emulate Java enum values created by Google's Protocol Buffer library.
This class is designed to emulate Java enum values created by Google's Protocol Buffer library.
val GenderProto = Enum("com.eharmony.matching.common.value.ProfileProtoBuffs.ProfileProto.GenderProto", "MALE" -> 1, "FEMALE" -> 2) assert(1 == GenderProto.valueOf("MALE").getNumber) assert(0 == GenderProto.valueOf("MALE").ordinal) try { GenderProto.valueOf("HERMAPHRODITE"); throw new Exception("fail") } catch { case e: IllegalArgumentException => assert(e.getMessage == s"No enum const class ${GenderProto.className}.HERMAPHRODITE") }
The canonical class name of the enum being emulated
the enum constant names and their number (returned by get number).
A representation of an emulated enum constant.
An emulated enum constant.
An emulated enum constant.
Name of the enum constant.
the ordinal value of the enum constant (this is the order in which the constant appears in the list of constants)
a number (added to allow emulated of protocol buffer generated enums)
The string values here match the function names in CsvLine.
The string values here match the function names in CsvLine. This is important that the name passed to each instance of Val is exactly the same as the corresponding function name in com.eharmony.aloha.semantics.compiled.plugin.csv.CsvLine.
Create a plugin that can generate code for TSV lines.
a mapping from field name to field type.