diff options
author | Chris Rebert <github@chrisrebert.com> | 2016-03-14 10:52:54 +0300 |
---|---|---|
committer | Chris Rebert <github@chrisrebert.com> | 2016-03-14 10:52:54 +0300 |
commit | c2f7ffc9a525797236792e21ccc529def98dbdd3 (patch) | |
tree | 18b0fd78142d67696a449ba03628223c3f9fc5c9 /src/main/scala/com/getbootstrap/savage/util/package.scala | |
parent | 31624d3461bc8ee6a0fbae697683f9197548d13e (diff) | |
parent | 4fa56e5177257e43149bca4b7b05ca5b32e03172 (diff) |
Merge pull request #33 from twbs/implicit-anyvals
Make implicit classes also value classes to decrease overhead
Diffstat (limited to 'src/main/scala/com/getbootstrap/savage/util/package.scala')
-rw-r--r-- | src/main/scala/com/getbootstrap/savage/util/package.scala | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/main/scala/com/getbootstrap/savage/util/package.scala b/src/main/scala/com/getbootstrap/savage/util/package.scala index e728f02..8c452b5 100644 --- a/src/main/scala/com/getbootstrap/savage/util/package.scala +++ b/src/main/scala/com/getbootstrap/savage/util/package.scala @@ -12,15 +12,15 @@ package object util { val utf8Name = "UTF-8" private val utf8 = Charset.forName(utf8Name) - implicit class Utf8String(str: String) { + implicit class Utf8String(val str: String) extends AnyVal { def utf8Bytes: Array[Byte] = str.getBytes(utf8) } - implicit class Utf8ByteArray(bytes: Array[Byte]) { + implicit class Utf8ByteArray(val bytes: Array[Byte]) extends AnyVal { def utf8String: Try[String] = Try { new String(bytes, utf8) } } - implicit class PrefixedString(str: String) { + implicit class PrefixedString(val str: String) extends AnyVal { def unprefix(prefix: String): Option[String] = { if (str.startsWith(prefix)) { Some(str.stripPrefix(prefix)) @@ -44,12 +44,12 @@ package object util { } } } - implicit class UnixFileSystemString(str: String) { + implicit class UnixFileSystemString(val str: String) extends AnyVal { def asUnixGlob = UnixFileSystemString.unixFileSystem.getPathMatcher("glob:" + str) def asUnixPath = UnixFileSystemString.unixFileSystem.getPath(str) } - implicit class RichInputStream(stream: InputStream) { + implicit class RichInputStream(val stream: InputStream) extends AnyVal { def readUntilEofAsSingleUtf8String: String = { val scanner = new Scanner(stream, utf8Name).useDelimiter("\\A") val string = if (scanner.hasNext) { @@ -63,12 +63,12 @@ package object util { } } - implicit class HexByteArray(array: Array[Byte]) { + implicit class HexByteArray(val array: Array[Byte]) extends AnyVal { import javax.xml.bind.DatatypeConverter def asHexBytes: String = DatatypeConverter.printHexBinary(array).toLowerCase } - implicit class RichPath(path: Path) { + implicit class RichPath(val path: Path) extends AnyVal { @throws[SecurityException] def deleteRecursively()(implicit log: LoggingAdapter) { try { @@ -83,7 +83,7 @@ package object util { } } - implicit class RichConfig(config: Config) { + implicit class RichConfig(val config: Config) extends AnyVal { import java.util.concurrent.TimeUnit import scala.concurrent.duration.FiniteDuration |