Spss variable, value and reader wrapper.
package net.tz.spss
import java.io.File
import com.bedatadriven.spss.SpssDataFileReader
import scala.collection.JavaConverters._
import scala.language.postfixOps
class SpssReader(private val r: SpssDataFileReader)
extends Iterator[Map[SpssVariable, SpssValue]] {
lazy val variables: List[SpssVariable] =
r.getVariables.asScala.toList map(SpssVariable(_))
override def hasNext: Boolean = r.readNextCase()
override def next(): Map[SpssVariable, SpssValue] =
variables map(v => (v, SpssValue(r, v))) toMap
}
object SpssReader {
def apply(f: File): SpssReader = new SpssReader(new SpssDataFileReader(f))
}