Skip to content
This repository was archived by the owner on Apr 25, 2020. It is now read-only.

Commit 61b409a

Browse files
committed
Refactor and add a few more cases
1 parent 0c11dc7 commit 61b409a

File tree

3 files changed

+17
-8
lines changed

3 files changed

+17
-8
lines changed

Diff for: project/build.properties

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
project.organization=com.ckkloverdos
1919
project.name=typedkey
2020
sbt.version=0.7.7
21-
project.version=0.1.0
22-
build.scala.versions=2.9.1 2.8.2
21+
project.version=0.2.0-SNAPSHOT
22+
build.scala.versions=2.9.1 2.8.2 2.8.1
2323
project.initialize=false
2424
publish.remote=false

Diff for: src/main/scala/com/ckkloverdos/key/typedkey.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ trait TypedKey[T] extends Ordered[TypedKey[_]]{
2727
def keyType: Manifest[T]
2828
}
2929

30-
abstract class TypedKeySkeleton[T: Manifest](name: String) extends TypedKey[T] {
30+
abstract class TypedKeySkeleton[T: Manifest](val name: String) extends TypedKey[T] {
3131
def keyType = manifest[T]
3232

3333
override def hashCode = (31 * name.## + keyType.##)

Diff for: src/main/scala/com/ckkloverdos/key/typedkeyimpl.scala

+14-5
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,17 @@
1616

1717
package com.ckkloverdos.key
1818

19-
final case class IntKey (name: String) extends TypedKeySkeleton[Int] (name)
20-
final case class LongKey (name: String) extends TypedKeySkeleton[Long] (name)
21-
final case class DoubleKey (name: String) extends TypedKeySkeleton[Double] (name)
22-
final case class BooleanKey(name: String) extends TypedKeySkeleton[Boolean](name)
23-
final case class StringKey (name: String) extends TypedKeySkeleton[String] (name)
19+
final case class ByteKey (override val name: String) extends TypedKeySkeleton[Byte] (name)
20+
final case class BooleanKey(override val name: String) extends TypedKeySkeleton[Boolean](name)
21+
final case class ShortKey (override val name: String) extends TypedKeySkeleton[Short] (name)
22+
final case class CharKey (override val name: String) extends TypedKeySkeleton[Char] (name)
23+
final case class IntKey (override val name: String) extends TypedKeySkeleton[Int] (name)
24+
final case class LongKey (override val name: String) extends TypedKeySkeleton[Long] (name)
25+
final case class FloatKey (override val name: String) extends TypedKeySkeleton[Float] (name)
26+
final case class DoubleKey (override val name: String) extends TypedKeySkeleton[Double] (name)
27+
28+
final case class StringKey (override val name: String) extends TypedKeySkeleton[String] (name)
29+
30+
final case class ListKey [T: Manifest](override val name: String) extends TypedKeySkeleton[List[T]](name)
31+
final case class ArrayKey[T: Manifest](override val name: String) extends TypedKeySkeleton[Array[T]](name)
32+
final case class SetKey [T: Manifest](override val name: String) extends TypedKeySkeleton[Set[T]](name)

0 commit comments

Comments
 (0)