org.allenai.common

SeekableSource

Related Doc: package common

class SeekableSource extends Iterator[Char]

A class that provides seekability to an interface similar to scala.io.Source. This is required because scala.io.Source only provides character offsets, while FileChannel (and other seekable Java interfaces) take byte offsets for seeking. The only limitation is that the file must be either UTF-8 or ISO-8859-1 encoded.

This also has a getLines() method to iterate over lines. Any reads done on this iterator are reflected in the main Source, and reads on the Source are reflected in the Iterator[String]. The iterator returned by getLines() will create another buffer of bufferSize bytes, so bear this in mind when estimating memory usage.

Exceptions thrown

java.lang.IllegalArgumentException if bufferSize is less than 4, or codec is not UTF-8 or ISO-8859-1

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SeekableSource
  2. Iterator
  3. TraversableOnce
  4. GenTraversableOnce
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SeekableSource(inFile: FileChannel, bufferSize: Int = 8 << 20)(implicit codec: Codec)

    inFile

    the file channel to wrap

    bufferSize

    the size of the internal buffer to use. Defaults to 8MB.

    codec

    the codec to use. Must be one of UTF-8 or ISO-8859-1.

    Exceptions thrown

    java.lang.IllegalArgumentException if bufferSize is less than 4, or codec is not UTF-8 or ISO-8859-1

Type Members

  1. class GroupedIterator[B >: A] extends AbstractIterator[Seq[B]] with Iterator[Seq[B]]

    Definition Classes
    Iterator

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. def ++[B >: Char](that: ⇒ GenTraversableOnce[B]): Iterator[B]

    Definition Classes
    Iterator
  4. def /:[B](z: B)(op: (B, Char) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  5. def :\[B](z: B)(op: (Char, B) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  6. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  7. val BadChar: Int

  8. def addString(b: StringBuilder): StringBuilder

    Definition Classes
    TraversableOnce
  9. def addString(b: StringBuilder, sep: String): StringBuilder

    Definition Classes
    TraversableOnce
  10. def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

    Definition Classes
    TraversableOnce
  11. def aggregate[B](z: ⇒ B)(seqop: (B, Char) ⇒ B, combop: (B, B) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  12. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  13. def buffered: BufferedIterator[Char]

    Definition Classes
    Iterator
  14. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. def collect[B](pf: PartialFunction[Char, B]): Iterator[B]

    Definition Classes
    Iterator
    Annotations
    @migration
    Migration

    (Changed in version 2.8.0) collect has changed. The previous behavior can be reproduced with toSeq.

  16. def collectFirst[B](pf: PartialFunction[Char, B]): Option[B]

    Definition Classes
    TraversableOnce
  17. def contains(elem: Any): Boolean

    Definition Classes
    Iterator
  18. def copyToArray[B >: Char](xs: Array[B], start: Int, len: Int): Unit

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  19. def copyToArray[B >: Char](xs: Array[B]): Unit

    Definition Classes
    TraversableOnce → GenTraversableOnce
  20. def copyToArray[B >: Char](xs: Array[B], start: Int): Unit

    Definition Classes
    TraversableOnce → GenTraversableOnce
  21. def copyToBuffer[B >: Char](dest: Buffer[B]): Unit

    Definition Classes
    TraversableOnce
  22. def corresponds[B](that: GenTraversableOnce[B])(p: (Char, B) ⇒ Boolean): Boolean

    Definition Classes
    Iterator
  23. def count(p: (Char) ⇒ Boolean): Int

    Definition Classes
    TraversableOnce → GenTraversableOnce
  24. def drop(n: Int): Iterator[Char]

    Definition Classes
    Iterator
  25. def dropWhile(p: (Char) ⇒ Boolean): Iterator[Char]

    Definition Classes
    Iterator
  26. def duplicate: (Iterator[Char], Iterator[Char])

    Definition Classes
    Iterator
  27. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  28. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  29. def exists(p: (Char) ⇒ Boolean): Boolean

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  30. def fillBuffer(): Boolean

    Fills inBuffer from the input file.

    Fills inBuffer from the input file. Sets inputRemaining as appropriate.

    returns

    true if there are more characters to read in the buffer

    Attributes
    protected[org.allenai.common]
  31. def filter(p: (Char) ⇒ Boolean): Iterator[Char]

    Definition Classes
    Iterator
  32. def filterNot(p: (Char) ⇒ Boolean): Iterator[Char]

    Definition Classes
    Iterator
  33. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  34. def find(p: (Char) ⇒ Boolean): Option[Char]

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  35. def flatMap[B](f: (Char) ⇒ GenTraversableOnce[B]): Iterator[B]

    Definition Classes
    Iterator
  36. def fold[A1 >: Char](z: A1)(op: (A1, A1) ⇒ A1): A1

    Definition Classes
    TraversableOnce → GenTraversableOnce
  37. def foldLeft[B](z: B)(op: (B, Char) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  38. def foldRight[B](z: B)(op: (Char, B) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  39. def forall(p: (Char) ⇒ Boolean): Boolean

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  40. def foreach[U](f: (Char) ⇒ U): Unit

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  41. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  42. def getLines(): Iterator[String]

    Returns an iterator over the remaining lines in this SeekableSource.

    Returns an iterator over the remaining lines in this SeekableSource. Note that any reads done on this iterator will be reflected in the main SeekableSource!

    This acts in the same way as java.io.BufferedReader or scala.io.Source: Single newlines or single carriage returns are treated as an end-of-line, as are carriage returns followed immediately by newlines.

  43. def grouped[B >: Char](size: Int): GroupedIterator[B]

    Definition Classes
    Iterator
  44. def hasDefiniteSize: Boolean

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  45. def hasNext: Boolean

    Returns true if the source has more input, populating the input buffer if need be.

    Returns true if the source has more input, populating the input buffer if need be.

    Definition Classes
    SeekableSource → Iterator
  46. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  47. def indexOf[B >: Char](elem: B): Int

    Definition Classes
    Iterator
  48. def indexWhere(p: (Char) ⇒ Boolean): Int

    Definition Classes
    Iterator
  49. def isEmpty: Boolean

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  50. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  51. def isTraversableAgain: Boolean

    Definition Classes
    Iterator → GenTraversableOnce
  52. def length: Int

    Definition Classes
    Iterator
  53. def map[B](f: (Char) ⇒ B): Iterator[B]

    Definition Classes
    Iterator
  54. def max[B >: Char](implicit cmp: Ordering[B]): Char

    Definition Classes
    TraversableOnce → GenTraversableOnce
  55. def maxBy[B](f: (Char) ⇒ B)(implicit cmp: Ordering[B]): Char

    Definition Classes
    TraversableOnce → GenTraversableOnce
  56. def min[B >: Char](implicit cmp: Ordering[B]): Char

    Definition Classes
    TraversableOnce → GenTraversableOnce
  57. def minBy[B](f: (Char) ⇒ B)(implicit cmp: Ordering[B]): Char

    Definition Classes
    TraversableOnce → GenTraversableOnce
  58. def mkString: String

    Definition Classes
    TraversableOnce → GenTraversableOnce
  59. def mkString(sep: String): String

    Definition Classes
    TraversableOnce → GenTraversableOnce
  60. def mkString(start: String, sep: String, end: String): String

    Definition Classes
    TraversableOnce → GenTraversableOnce
  61. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  62. def next(): Char

    Reads and returns a single character from a the file.

    Reads and returns a single character from a the file.

    Definition Classes
    SeekableSource → Iterator
  63. def nextIso8859: Char

    returns

    the next character in the buffer, decoded from ISO-8859-1

    Attributes
    protected[org.allenai.common]
  64. def nextUtf8: Char

    returns

    the next character in the buffer, decoded from UTF-8

    Attributes
    protected[org.allenai.common]
  65. def nonEmpty: Boolean

    Definition Classes
    TraversableOnce → GenTraversableOnce
  66. final def notify(): Unit

    Definition Classes
    AnyRef
  67. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  68. def padTo[A1 >: Char](len: Int, elem: A1): Iterator[A1]

    Definition Classes
    Iterator
  69. def partition(p: (Char) ⇒ Boolean): (Iterator[Char], Iterator[Char])

    Definition Classes
    Iterator
  70. def patch[B >: Char](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]

    Definition Classes
    Iterator
  71. def position: Long

    returns

    the current position in the file

  72. def position(newPosition: Long): Unit

    Positions this source at the given byte offset in the input file.

    Positions this source at the given byte offset in the input file. Note that this will allow you to position past the end of the file, in which case no input will be read.

  73. def product[B >: Char](implicit num: Numeric[B]): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  74. def reduce[A1 >: Char](op: (A1, A1) ⇒ A1): A1

    Definition Classes
    TraversableOnce → GenTraversableOnce
  75. def reduceLeft[B >: Char](op: (B, Char) ⇒ B): B

    Definition Classes
    TraversableOnce
  76. def reduceLeftOption[B >: Char](op: (B, Char) ⇒ B): Option[B]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  77. def reduceOption[A1 >: Char](op: (A1, A1) ⇒ A1): Option[A1]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  78. def reduceRight[B >: Char](op: (Char, B) ⇒ B): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  79. def reduceRightOption[B >: Char](op: (Char, B) ⇒ B): Option[B]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  80. def reversed: List[Char]

    Attributes
    protected[this]
    Definition Classes
    TraversableOnce
  81. def sameElements(that: Iterator[_]): Boolean

    Definition Classes
    Iterator
  82. def scanLeft[B](z: B)(op: (B, Char) ⇒ B): Iterator[B]

    Definition Classes
    Iterator
  83. def scanRight[B](z: B)(op: (Char, B) ⇒ B): Iterator[B]

    Definition Classes
    Iterator
  84. def seq: Iterator[Char]

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  85. def size: Int

    Definition Classes
    TraversableOnce → GenTraversableOnce
  86. def slice(from: Int, until: Int): Iterator[Char]

    Definition Classes
    Iterator
  87. def sliding[B >: Char](size: Int, step: Int): GroupedIterator[B]

    Definition Classes
    Iterator
  88. def span(p: (Char) ⇒ Boolean): (Iterator[Char], Iterator[Char])

    Definition Classes
    Iterator
  89. def sum[B >: Char](implicit num: Numeric[B]): B

    Definition Classes
    TraversableOnce → GenTraversableOnce
  90. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  91. def take(n: Int): Iterator[Char]

    Definition Classes
    Iterator
  92. def takeWhile(p: (Char) ⇒ Boolean): Iterator[Char]

    Definition Classes
    Iterator
  93. def to[Col[_]](implicit cbf: CanBuildFrom[Nothing, Char, Col[Char]]): Col[Char]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  94. def toArray[B >: Char](implicit arg0: ClassTag[B]): Array[B]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  95. def toBuffer[B >: Char]: Buffer[B]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  96. def toIndexedSeq: IndexedSeq[Char]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  97. def toIterable: Iterable[Char]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  98. def toIterator: Iterator[Char]

    Definition Classes
    Iterator → GenTraversableOnce
  99. def toList: List[Char]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  100. def toMap[T, U](implicit ev: <:<[Char, (T, U)]): Map[T, U]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  101. def toSeq: Seq[Char]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  102. def toSet[B >: Char]: Set[B]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  103. def toStream: Stream[Char]

    Definition Classes
    Iterator → GenTraversableOnce
  104. def toString(): String

    Definition Classes
    Iterator → AnyRef → Any
  105. def toTraversable: Traversable[Char]

    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  106. def toVector: Vector[Char]

    Definition Classes
    TraversableOnce → GenTraversableOnce
  107. val useUtf8: Boolean

    True if we're decoding as UTF-8; false if we're decoding as ISO-8859-1.

  108. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  109. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  110. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  111. def withFilter(p: (Char) ⇒ Boolean): Iterator[Char]

    Definition Classes
    Iterator
  112. def zip[B](that: Iterator[B]): Iterator[(Char, B)]

    Definition Classes
    Iterator
  113. def zipAll[B, A1 >: Char, B1 >: B](that: Iterator[B], thisElem: A1, thatElem: B1): Iterator[(A1, B1)]

    Definition Classes
    Iterator
  114. def zipWithIndex: Iterator[(Char, Int)]

    Definition Classes
    Iterator

Inherited from Iterator[Char]

Inherited from TraversableOnce[Char]

Inherited from GenTraversableOnce[Char]

Inherited from AnyRef

Inherited from Any

Ungrouped