diff options
author | Sergey Nastich <nastich@users.noreply.github.com> | 2018-04-03 10:57:14 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-03 10:57:14 -0700 |
commit | bdf9ec57f213eb652ba5fb3b21973d028034d40e (patch) | |
tree | 2d267f0dc9be85e6bb9bc4286868b37d12315fa7 /src/main/scala/xyz/driver/core/generators.scala | |
parent | 322bbc9010e20195e5b0bb58e703961738ffb89d (diff) | |
download | driver-core-bdf9ec57f213eb652ba5fb3b21973d028034d40e.tar.gz driver-core-bdf9ec57f213eb652ba5fb3b21973d028034d40e.tar.bz2 driver-core-bdf9ec57f213eb652ba5fb3b21973d028034d40e.zip |
Add enumeratum support to JSON format and generators (#144)v1.8.12
* Add enumeratum support to JSON format and generators
* Move enumeratum serializers into their own object. Add enumeratum unmarshaller. Add entities to derive JsonFormats instead of having to type them externally.
Diffstat (limited to 'src/main/scala/xyz/driver/core/generators.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/generators.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/generators.scala b/src/main/scala/xyz/driver/core/generators.scala index 143044c..3c85447 100644 --- a/src/main/scala/xyz/driver/core/generators.scala +++ b/src/main/scala/xyz/driver/core/generators.scala @@ -1,5 +1,6 @@ package xyz.driver.core +import enumeratum._ import java.math.MathContext import java.util.UUID @@ -91,6 +92,8 @@ object generators { def oneOf[T](items: Set[T]): T = items.toSeq(nextInt(items.size)) + def oneOf[T <: EnumEntry](enum: Enum[T]): T = oneOf(enum.values: _*) + def arrayOf[T: ClassTag](generator: => T, maxLength: Int = DefaultMaxLength, minLength: Int = 0): Array[T] = Array.fill(nextInt(maxLength, minLength))(generator) |