summaryrefslogtreecommitdiffstats
path: root/standalone-container/src/main/scala/com/yahoo/container/standalone/Converter.scala
diff options
context:
space:
mode:
Diffstat (limited to 'standalone-container/src/main/scala/com/yahoo/container/standalone/Converter.scala')
-rw-r--r--standalone-container/src/main/scala/com/yahoo/container/standalone/Converter.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/standalone-container/src/main/scala/com/yahoo/container/standalone/Converter.scala b/standalone-container/src/main/scala/com/yahoo/container/standalone/Converter.scala
new file mode 100644
index 00000000000..443806d014b
--- /dev/null
+++ b/standalone-container/src/main/scala/com/yahoo/container/standalone/Converter.scala
@@ -0,0 +1,26 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.container.standalone
+
+/**
+ * @author tonytv
+ */
+trait Converter[T] {
+ def convert(s: String): T
+}
+
+object Converter {
+ def toConverter[T](f: String => T) = new Converter[T] {
+ override def convert(s: String) = f(s)
+ }
+
+ implicit val intConverter = toConverter(_.toInt)
+ implicit val longConverter = toConverter(_.toLong)
+ implicit val boolConverter = toConverter(_.toBoolean)
+ implicit val stringConverter = toConverter(identity)
+
+ implicit val javaIntegerConverter:Converter[Integer] = toConverter(_.toInt)
+ implicit val javaLongConverter:Converter[java.lang.Long] = toConverter(_.toLong)
+ implicit val javaBooleanConverter:Converter[java.lang.Boolean] = toConverter(_.toBoolean)
+
+
+} \ No newline at end of file