summaryrefslogtreecommitdiff
path: root/cli/source/core/scala/com/rockymadden/stringmetric/cli/OptionString.scala
diff options
context:
space:
mode:
Diffstat (limited to 'cli/source/core/scala/com/rockymadden/stringmetric/cli/OptionString.scala')
-rwxr-xr-xcli/source/core/scala/com/rockymadden/stringmetric/cli/OptionString.scala30
1 files changed, 30 insertions, 0 deletions
diff --git a/cli/source/core/scala/com/rockymadden/stringmetric/cli/OptionString.scala b/cli/source/core/scala/com/rockymadden/stringmetric/cli/OptionString.scala
new file mode 100755
index 0000000..7a1350d
--- /dev/null
+++ b/cli/source/core/scala/com/rockymadden/stringmetric/cli/OptionString.scala
@@ -0,0 +1,30 @@
+package com.rockymadden.stringmetric.cli
+
+import scala.language.implicitConversions
+
+class OptionString(val self: String)
+
+object OptionString {
+ implicit def OptionStringToArray(optionString: OptionString): Array[String] =
+ if (optionString.self.length == 0) Array.empty[String] else optionString.self.split(" ")
+
+ implicit def OptionStringToBigDecimal(optionString: OptionString): BigDecimal = BigDecimal(optionString.self)
+
+ implicit def OptionStringToBigInt(optionString: OptionString): BigInt = BigInt(optionString.self)
+
+ implicit def OptionStringToDouble(optionString: OptionString): Double = optionString.self.toDouble
+
+ implicit def OptionStringToFloat(optionString: OptionString): Float = optionString.self.toFloat
+
+ implicit def OptionStringToInt(optionString: OptionString): Int = optionString.self.toInt
+
+ implicit def OptionStringToLong(optionString: OptionString): Long = optionString.self.toLong
+
+ implicit def OptionStringToShort(optionString: OptionString): Short = optionString.self.toShort
+
+ implicit def OptionStringToString(optionString: OptionString): String = optionString.self
+
+ implicit def StringToOptionString(string: String): OptionString = apply(string)
+
+ def apply(string: String): OptionString = new OptionString(string)
+}