aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2012-11-01 16:35:42 +0100
committerJakob Odersky <jodersky@gmail.com>2012-11-01 16:35:42 +0100
commitfd09111c47965b9af68879d3613e76695f8e7f0b (patch)
tree66aa567eca9a61254f7a4703eac5eb06fdc200bc
parent8d74b4b823b8ed1989e597adf88a12ab1eefe304 (diff)
downloadscalam-fd09111c47965b9af68879d3613e76695f8e7f0b.tar.gz
scalam-fd09111c47965b9af68879d3613e76695f8e7f0b.tar.bz2
scalam-fd09111c47965b9af68879d3613e76695f8e7f0b.zip
make I/O specific to paths (to enable saving of resources across multiple files)
-rw-r--r--src/main/scala/scalam/io/Loadable.scala4
-rw-r--r--src/main/scala/scalam/io/Saveable.scala6
-rw-r--r--src/main/scala/scalam/io/package.scala4
-rw-r--r--src/main/scala/scalam/package.scala4
-rw-r--r--src/main/scala/scalam/plotting/DataSet.scala4
5 files changed, 11 insertions, 11 deletions
diff --git a/src/main/scala/scalam/io/Loadable.scala b/src/main/scala/scalam/io/Loadable.scala
index 703c1fa..aac0e39 100644
--- a/src/main/scala/scalam/io/Loadable.scala
+++ b/src/main/scala/scalam/io/Loadable.scala
@@ -1,7 +1,7 @@
package scalam.io
-import scalax.io.Input
+import scalax.file.Path
trait Loadable[A] {
- def load(in: Input): A
+ def load(in: Path): A
} \ No newline at end of file
diff --git a/src/main/scala/scalam/io/Saveable.scala b/src/main/scala/scalam/io/Saveable.scala
index bf33d94..4a45b16 100644
--- a/src/main/scala/scalam/io/Saveable.scala
+++ b/src/main/scala/scalam/io/Saveable.scala
@@ -1,7 +1,9 @@
package scalam.io
-import scalax.io.Output
+import scalax.file.Path
trait Saveable {
- def save(out: Output)
+
+ def save(out: Path): Unit
+
} \ No newline at end of file
diff --git a/src/main/scala/scalam/io/package.scala b/src/main/scala/scalam/io/package.scala
index 4f1ef09..9022d62 100644
--- a/src/main/scala/scalam/io/package.scala
+++ b/src/main/scala/scalam/io/package.scala
@@ -11,9 +11,7 @@ package object io {
}
def save[A <% Saveable](objectToSave: A, path: Path) = {
- path.createFile(createParents = true, failIfExists = false)
- for (processor <- path.outputProcessor; out = processor.asOutput)
- objectToSave.save(out)
+ objectToSave.save(path)
}
} \ No newline at end of file
diff --git a/src/main/scala/scalam/package.scala b/src/main/scala/scalam/package.scala
index 0e57acc..c10a270 100644
--- a/src/main/scala/scalam/package.scala
+++ b/src/main/scala/scalam/package.scala
@@ -29,7 +29,7 @@ package object scalam extends LowPriorityImplicits {
}
def denseMatrixIsLoadable[A: ClassManifest](converter: String => A): Loadable[DenseMatrix[A]] = new Loadable[DenseMatrix[A]] {
- def load(in: scalax.io.Input) = {
+ def load(in: scalax.file.Path) = {
val lines: Array[String] = in.lines().dropWhile(_.isEmpty).toArray
val separator = "\\s|,"
val elements: Array[Array[String]] = lines.map(_.split(separator))
@@ -48,7 +48,7 @@ package object scalam extends LowPriorityImplicits {
implicit def booleanDenseIsLoadable = denseMatrixIsLoadable[Boolean](_.toBoolean)
implicit def denseMatrixIsSaveable = (m: DenseMatrix[_]) => new Saveable {
- def save(out: scalax.io.Output) = {
+ def save(out: scalax.file.Path) = {
for (i <- 0 until m.rows) m(i, ::).valuesIterator.mkString("", " ", "\n")
}
}
diff --git a/src/main/scala/scalam/plotting/DataSet.scala b/src/main/scala/scalam/plotting/DataSet.scala
index 052ad8c..a886700 100644
--- a/src/main/scala/scalam/plotting/DataSet.scala
+++ b/src/main/scala/scalam/plotting/DataSet.scala
@@ -22,11 +22,11 @@ object DataSet {
def apply(points: Seq[(Double, Double)], label: String) = new DataSet(points, label, Identifier.makeValid(label))
implicit val dataSetIsSaveable = (ds: DataSet) => new Saveable {
- def save(out: scalax.io.Output) = for ((x, y) <- ds.points) yield out.write(x + " " + y + "\n")
+ def save(out: scalax.file.Path) = for ((x, y) <- ds.points) yield out.write(x + " " + y + "\n")
}
implicit def dataSetIsLoadable = new Loadable[DataSet] {
- def load(in: scalax.io.Input) = new DataSet(Seq(), "", "")
+ def load(in: scalax.file.Path) = new DataSet(Seq(), "", "")
}
}