Advertisement
Guest User

Untitled

a guest
Oct 5th, 2015
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.66 KB | None | 0 0
  1. def makeArray[T](classTag: ClassTag[T], elements: Array[Any]): Array[T] = Array(elements.map(_.asInstanceOf[T]): _*)(classTag)
  2.  
  3.   def convertArray(parameterName: String, parameterType: Type, array: JSONArray): Array[_] = {
  4.     val genericType = parameterType.asInstanceOf[TypeRefApi].args.head
  5.     val mapped = array.toArray().map {
  6.       case x if x.isInstanceOf[Long] && genericType == typeOf[Double] => x.asInstanceOf[Long].toDouble
  7.       case x => x
  8.     }
  9.     if (mapped.exists(getJavaType(_) != genericType)) throw new InvalidParameter(parameterName)
  10.     val genericClass = mirror.runtimeClass(genericType)
  11.     return makeArray(ClassTag(genericClass), mapped)
  12.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement