case class RowF[H[+a] <: Option[a], Header](values: NonEmptyList[String], headers: H[NonEmptyList[Header]], line: Option[Long] = None) extends Product with Serializable

A CSV row with or without headers. The presence of headers is encoded via the first type param which is a subtype of scala.Option. By preserving this information in types, it's possible to define Row and CsvRow aliases as if they were plain case classes while keeping the code DRY.

Operations on columns can always be performed using 0-based indices and additionally using a specified header value if headers are present (and this fact statically known).

Note: the following invariant holds when using this class: values and headers have the same size if headers are present.

Linear Supertypes
Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RowF
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new RowF(values: NonEmptyList[String], headers: H[NonEmptyList[Header]], line: Option[Long] = None)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def apply(header: Header)(implicit hasHeaders: HasHeaders[H, Header]): Option[String]

    Returns the content of the cell at header if it exists.

    Returns the content of the cell at header if it exists. Returns None if header does not exist for the row. An empty cell value results in Some("").

  5. def as[T](header: Header)(implicit hasHeaders: HasHeaders[H, Header], decoder: CellDecoder[T]): DecoderResult[T]

    Returns the decoded content of the cell at header.

    Returns the decoded content of the cell at header. Fails if the field doesn't exist or cannot be decoded to the expected type.

  6. def asAt[T](idx: Int)(implicit decoder: CellDecoder[T]): DecoderResult[T]

    Returns the decoded content of the cell at idx.

    Returns the decoded content of the cell at idx. Fails if the index doesn't exist or cannot be decoded to the expected type.

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def at(idx: Int): Option[String]

    Returns the content of the cell at idx if it exists.

    Returns the content of the cell at idx if it exists. Returns None if idx is out of row bounds. An empty cell value results in Some("").

  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  10. def delete(header: Header)(implicit hasHeaders: HasHeaders[H, Header]): Option[CsvRow[Header]]

    Returns the row without the cell at the given header.

    Returns the row without the cell at the given header. If the resulting row is empty, returns None.

    **Note:** Only the first occurrence of the values with the given header will be deleted. It shouldn't be a problem in the general case as headers should not be duplicated.

  11. def deleteAt(idx: Int): Option[RowF[H, Header]]

    Returns the row without the cell at the given idx.

    Returns the row without the cell at the given idx. If the resulting row is empty, returns None.

  12. def dropHeaders: Row

    Drop all headers (if any).

    Drop all headers (if any).

    returns

    a row without headers, but same values

  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. val headers: H[NonEmptyList[Header]]
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. val line: Option[Long]
  19. def modify(header: Header)(f: (String) => String)(implicit hasHeaders: HasHeaders[H, Header]): CsvRow[Header]

    Modifies the cell content at the given header using the function f.

    Modifies the cell content at the given header using the function f.

    **Note:** Only the first occurrence of the values with the given header will be modified. It shouldn't be a problem in the general case as headers should not be duplicated.

  20. def modifyAt(idx: Int)(f: (String) => String): RowF[H, Header]

    Modifies the cell content at the given idx using the function f.

  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. def productElementNames: Iterator[String]
    Definition Classes
    Product
  25. def size: Int

    Number of cells in the row.

  26. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  27. def toMap(implicit hasHeaders: HasHeaders[H, Header]): Map[Header, String]

    Returns a representation of this row as Map from headers to corresponding cell values.

  28. def toNonEmptyMap(implicit hasHeaders: HasHeaders[H, Header], order: Order[Header]): NonEmptyMap[Header, String]

    Returns a representation of this row as NonEmptyMap from headers to corresponding cell values.

  29. def updated(header: Header, value: String)(implicit hasHeaders: HasHeaders[H, Header]): CsvRow[Header]

    Returns the row with the cell at header modified to value.

    Returns the row with the cell at header modified to value.

    **Note:** Only the first occurrence of the values with the given header will be modified. It shouldn't be a problem in the general case as headers should not be duplicated.

  30. def updatedAt(idx: Int, value: String): RowF[H, Header]

    Returns the row with the cell at idx modified to value.

  31. val values: NonEmptyList[String]
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped