Packages

  • package root
    Definition Classes
    root
  • package grizzled

    The Grizzled Scala Library contains a variety of miscellaneous, general purpose utility classes and objects.

    The Grizzled Scala Library contains a variety of miscellaneous, general purpose utility classes and objects.

    The home page for the Grizzled Scala Library is http://software.clapper.org/grizzled-scala/. Please see that page for complete details, including installation instructions.

    Definition Classes
    root
  • package file

    File-related classes and utilities.

    File-related classes and utilities. This package is distinguished from the grizzled.io package in that this package operates on files and paths, not on open streams or sources.

    Definition Classes
    grizzled
    See also

    grizzled.io

  • package filter

    Contains various file- and I/O-related filter classes.

    Contains various file- and I/O-related filter classes.

    Definition Classes
    file
  • FileDoesNotExistException
  • Implicits
  • Includer
  • util

class Includer extends Iterator[String]

Process "include" directives in files, returning an iterator over lines from the flattened files.

The grizzled.file.Includer class can be used to process "include" directives within a text file, returning a file-like object. It also contains some utility functions that permit using include-enabled files in other contexts.

WARNING: This class is not thread-safe.

Syntax

The include syntax is defined by a regular expression; any line that matches the regular expression is treated as an include directive. The default regular expression, %include\s"(["]+)"$ matches include directives like this:

%include "/absolute/path/to/file"
%include "../relative/path/to/file"
%include "local_reference"
%include "http://localhost/path/to/my.config"

Relative and local file references are relative to the including file or URL. That is, if an Includer is processing file "/home/bmc/foo.txt" and encounters an attempt to include file "bar.txt", it will assume "bar.txt" is to be found in "/home/bmc".

Similarly, if an Includer is processing URL "http://localhost/bmc/foo.txt" and encounters an attempt to include file "bar.txt", it will assume "bar.txt" is to be found at "http://localhost/bmc/bar.txt".

Nested includes are permitted; that is, an included file may, itself, include other files. The maximum recursion level is configurable and defaults to 100.

The include syntax can be changed by passing a different regular expression to the Includer constructor.

Usage

This package provides an Includer class, which processes include directives in a file and behaves somewhat like a Scala Source. See the class documentation for more details.

The package also provides a preprocess() convenience function, via a companion object, that can be used to preprocess a file; it returns the path to the resulting preprocessed file.

Examples

Preprocess a file containing include directives, then read the result:

import grizzled.file.Includer

Includer(path).foreach(println(_))

Use an include-enabled file with a Scala scala.io.Source object:

import grizzled.file.includer.Includer
import scala.io.Source

val source = Source.fromFile(Includer.preprocess("/path/to/file"))
Linear Supertypes
Iterator[String], IterableOnceOps[String, Iterator, Iterator[String]], IterableOnce[String], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Includer
  2. Iterator
  3. IterableOnceOps
  4. IterableOnce
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class GroupedIterator[B >: A] extends AbstractIterator[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. final def ++[B >: String](xs: => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator
    Annotations
    @inline()
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def addString(b: StringBuilder): StringBuilder
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  6. final def addString(b: StringBuilder, sep: String): StringBuilder
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  7. def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder
    Definition Classes
    IterableOnceOps
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def buffered: BufferedIterator[String]
    Definition Classes
    Iterator
  10. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. def collect[B](pf: PartialFunction[String, B]): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  12. def collectFirst[B](pf: PartialFunction[String, B]): Option[B]
    Definition Classes
    IterableOnceOps
  13. def concat[B >: String](xs: => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator
  14. def contains(elem: Any): Boolean
    Definition Classes
    Iterator
  15. def copyToArray[B >: String](xs: Array[B], start: Int, len: Int): Int
    Definition Classes
    IterableOnceOps
  16. def copyToArray[B >: String](xs: Array[B], start: Int): Int
    Definition Classes
    IterableOnceOps
  17. def copyToArray[B >: String](xs: Array[B]): Int
    Definition Classes
    IterableOnceOps
  18. def corresponds[B](that: IterableOnce[B])(p: (String, B) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  19. def count(p: (String) => Boolean): Int
    Definition Classes
    IterableOnceOps
  20. def distinct: Iterator[String]
    Definition Classes
    Iterator
  21. def distinctBy[B](f: (String) => B): Iterator[String]
    Definition Classes
    Iterator
  22. def drop(n: Int): Iterator[String]
    Definition Classes
    Iterator → IterableOnceOps
  23. def dropWhile(p: (String) => Boolean): Iterator[String]
    Definition Classes
    Iterator → IterableOnceOps
  24. def duplicate: (Iterator[String], Iterator[String])
    Definition Classes
    Iterator
  25. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  27. def exists(p: (String) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  28. def filter(p: (String) => Boolean): Iterator[String]
    Definition Classes
    Iterator → IterableOnceOps
  29. def filterNot(p: (String) => Boolean): Iterator[String]
    Definition Classes
    Iterator → IterableOnceOps
  30. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  31. def find(p: (String) => Boolean): Option[String]
    Definition Classes
    IterableOnceOps
  32. def flatMap[B](f: (String) => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  33. def flatten[B](implicit ev: (String) => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  34. def fold[A1 >: String](z: A1)(op: (A1, A1) => A1): A1
    Definition Classes
    IterableOnceOps
  35. def foldLeft[B](z: B)(op: (B, String) => B): B
    Definition Classes
    IterableOnceOps
  36. def foldRight[B](z: B)(op: (String, B) => B): B
    Definition Classes
    IterableOnceOps
  37. def forall(p: (String) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  38. def foreach[U](f: (String) => U): Unit
    Definition Classes
    IterableOnceOps
  39. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  40. def grouped[B >: String](size: Int): GroupedIterator[B]
    Definition Classes
    Iterator
  41. def hasNext: Boolean

    Determine whether there are any more input lines to be read from the includer.

    Determine whether there are any more input lines to be read from the includer.

    returns

    true if at least one more line is available, false otherwise

    Definition Classes
    Includer → Iterator
  42. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  43. val includeRegex: Regex
  44. def indexOf[B >: String](elem: B, from: Int): Int
    Definition Classes
    Iterator
  45. def indexOf[B >: String](elem: B): Int
    Definition Classes
    Iterator
  46. def indexWhere(p: (String) => Boolean, from: Int): Int
    Definition Classes
    Iterator
  47. def isEmpty: Boolean
    Definition Classes
    Iterator → IterableOnceOps
    Annotations
    @deprecatedOverriding("isEmpty is defined as !hasNext; override hasNext instead", "2.13.0")
  48. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  49. def isTraversableAgain: Boolean
    Definition Classes
    IterableOnceOps
  50. final def iterator: Iterator[String]
    Definition Classes
    Iterator → IterableOnce
    Annotations
    @inline()
  51. def knownSize: Int
    Definition Classes
    IterableOnce
  52. final def length: Int
    Definition Classes
    Iterator
    Annotations
    @inline()
  53. def map[B](f: (String) => B): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  54. def max[B >: String](implicit ord: Ordering[B]): String
    Definition Classes
    IterableOnceOps
  55. def maxBy[B](f: (String) => B)(implicit cmp: Ordering[B]): String
    Definition Classes
    IterableOnceOps
  56. def maxByOption[B](f: (String) => B)(implicit cmp: Ordering[B]): Option[String]
    Definition Classes
    IterableOnceOps
  57. val maxNesting: Int
  58. def maxOption[B >: String](implicit ord: Ordering[B]): Option[String]
    Definition Classes
    IterableOnceOps
  59. def min[B >: String](implicit ord: Ordering[B]): String
    Definition Classes
    IterableOnceOps
  60. def minBy[B](f: (String) => B)(implicit cmp: Ordering[B]): String
    Definition Classes
    IterableOnceOps
  61. def minByOption[B](f: (String) => B)(implicit cmp: Ordering[B]): Option[String]
    Definition Classes
    IterableOnceOps
  62. def minOption[B >: String](implicit ord: Ordering[B]): Option[String]
    Definition Classes
    IterableOnceOps
  63. final def mkString: String
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  64. final def mkString(sep: String): String
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  65. final def mkString(start: String, sep: String, end: String): String
    Definition Classes
    IterableOnceOps
  66. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  67. def next(): String

    Get the next input line.

    Get the next input line. You should call hasNext before calling this method, to ensure that there are input lines remaining. Calling next on an empty Includer will result in a runtime exception

    returns

    the next input line

    Definition Classes
    Includer → Iterator
    Annotations
    @SuppressWarnings() @throws(scala.this.throws.<init>$default$1[NoSuchElementException])
    Exceptions thrown

    NoSuchElementException if there isn't a next element.

  68. def nextOption(): Option[String]
    Definition Classes
    Iterator
  69. def nonEmpty: Boolean
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
  70. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  71. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  72. def padTo[B >: String](len: Int, elem: B): Iterator[B]
    Definition Classes
    Iterator
  73. def partition(p: (String) => Boolean): (Iterator[String], Iterator[String])
    Definition Classes
    Iterator
  74. def patch[B >: String](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]
    Definition Classes
    Iterator
  75. def product[B >: String](implicit num: Numeric[B]): B
    Definition Classes
    IterableOnceOps
  76. def reduce[B >: String](op: (B, B) => B): B
    Definition Classes
    IterableOnceOps
  77. def reduceLeft[B >: String](op: (B, String) => B): B
    Definition Classes
    IterableOnceOps
  78. def reduceLeftOption[B >: String](op: (B, String) => B): Option[B]
    Definition Classes
    IterableOnceOps
  79. def reduceOption[B >: String](op: (B, B) => B): Option[B]
    Definition Classes
    IterableOnceOps
  80. def reduceRight[B >: String](op: (String, B) => B): B
    Definition Classes
    IterableOnceOps
  81. def reduceRightOption[B >: String](op: (String, B) => B): Option[B]
    Definition Classes
    IterableOnceOps
  82. def reversed: Iterable[String]
    Attributes
    protected
    Definition Classes
    IterableOnceOps
  83. def sameElements[B >: String](that: IterableOnce[B]): Boolean
    Definition Classes
    Iterator
  84. def scanLeft[B](z: B)(op: (B, String) => B): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  85. def size: Int
    Definition Classes
    IterableOnceOps
  86. def slice(from: Int, until: Int): Iterator[String]
    Definition Classes
    Iterator → IterableOnceOps
  87. def sliceIterator(from: Int, until: Int): Iterator[String]
    Attributes
    protected
    Definition Classes
    Iterator
  88. def sliding[B >: String](size: Int, step: Int): GroupedIterator[B]
    Definition Classes
    Iterator
  89. val source: IncludeSource
  90. def span(p: (String) => Boolean): (Iterator[String], Iterator[String])
    Definition Classes
    Iterator → IterableOnceOps
  91. def splitAt(n: Int): (Iterator[String], Iterator[String])
    Definition Classes
    IterableOnceOps
  92. def stepper[S <: Stepper[_]](implicit shape: StepperShape[String, S]): S
    Definition Classes
    IterableOnce
  93. def sum[B >: String](implicit num: Numeric[B]): B
    Definition Classes
    IterableOnceOps
  94. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  95. def take(n: Int): Iterator[String]
    Definition Classes
    Iterator → IterableOnceOps
  96. def takeWhile(p: (String) => Boolean): Iterator[String]
    Definition Classes
    Iterator → IterableOnceOps
  97. def tapEach[U](f: (String) => U): Iterator[String]
    Definition Classes
    Iterator → IterableOnceOps
  98. def to[C1](factory: Factory[String, C1]): C1
    Definition Classes
    IterableOnceOps
  99. def toArray[B >: String](implicit arg0: ClassTag[B]): Array[B]
    Definition Classes
    IterableOnceOps
  100. final def toBuffer[B >: String]: Buffer[B]
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  101. def toIndexedSeq: IndexedSeq[String]
    Definition Classes
    IterableOnceOps
  102. def toList: List[String]
    Definition Classes
    IterableOnceOps
  103. def toMap[K, V](implicit ev: <:<[String, (K, V)]): Map[K, V]
    Definition Classes
    IterableOnceOps
  104. def toSeq: Seq[String]
    Definition Classes
    IterableOnceOps
  105. def toSet[B >: String]: Set[B]
    Definition Classes
    IterableOnceOps
  106. def toString(): String
    Definition Classes
    Iterator → AnyRef → Any
  107. def toVector: Vector[String]
    Definition Classes
    IterableOnceOps
  108. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  109. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  110. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  111. def withFilter(p: (String) => Boolean): Iterator[String]
    Definition Classes
    Iterator
  112. def zip[B](that: IterableOnce[B]): Iterator[(String, B)]
    Definition Classes
    Iterator
  113. def zipAll[A1 >: String, B](that: IterableOnce[B], thisElem: A1, thatElem: B): Iterator[(A1, B)]
    Definition Classes
    Iterator
  114. def zipWithIndex: Iterator[(String, Int)]
    Definition Classes
    Iterator → IterableOnceOps

Deprecated Value Members

  1. final def /:[B](z: B)(op: (B, String) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use foldLeft instead of /:

  2. final def :\[B](z: B)(op: (String, B) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use foldRight instead of :\

  3. def aggregate[B](z: => B)(seqop: (B, String) => B, combop: (B, B) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) aggregate is not relevant for sequential collections. Use foldLeft(z)(seqop) instead.

  4. final def copyToBuffer[B >: String](dest: Buffer[B]): Unit
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use dest ++= coll instead

  5. final def hasDefiniteSize: Boolean
    Definition Classes
    Iterator → IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) hasDefiniteSize on Iterator is the same as isEmpty

  6. def scanRight[B](z: B)(op: (String, B) => B): Iterator[B]
    Definition Classes
    Iterator
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Call scanRight on an Iterable instead.

  7. def seq: Includer.this.type
    Definition Classes
    Iterator
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Iterator.seq always returns the iterator itself

  8. final def toIterator: Iterator[String]
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use .iterator instead of .toIterator

  9. final def toStream: Stream[String]
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use .to(LazyList) instead of .toStream

Inherited from Iterator[String]

Inherited from IterableOnceOps[String, Iterator, Iterator[String]]

Inherited from IterableOnce[String]

Inherited from AnyRef

Inherited from Any

Ungrouped