| author | Tomas Zeman <tzeman@volny.cz> |
| Thu, 14 Mar 2019 15:06:13 +0100 | |
| changeset 2 | 7461111ce9ed |
| child 5 | 44aad285dc66 |
| permissions | -rw-r--r-- |
|
2
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
1 |
package net.tz.spss |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
2 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
3 |
import java.io.File |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
4 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
5 |
import com.bedatadriven.spss.SpssDataFileReader |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
6 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
7 |
import scala.collection.JavaConverters._ |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
8 |
import scala.language.postfixOps |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
9 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
10 |
class SpssReader(private val r: SpssDataFileReader) |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
11 |
extends Iterator[Map[SpssVariable, SpssValue]] {
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
12 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
13 |
lazy val variables: List[SpssVariable] = |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
14 |
r.getVariables.asScala.toList map(SpssVariable(_)) |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
15 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
16 |
override def hasNext: Boolean = r.readNextCase() |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
17 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
18 |
override def next(): Map[SpssVariable, SpssValue] = |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
19 |
variables map(v => (v, SpssValue(r, v))) toMap |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
20 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
21 |
} |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
22 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
23 |
object SpssReader {
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
24 |
def apply(f: File): SpssReader = new SpssReader(new SpssDataFileReader(f)) |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
25 |
} |