@@ -220,19 +220,15 @@ class BooleanParam(parent: Params, name: String, doc: String) // No need for isV
220220}
221221
222222/** Specialized version of [[Param[Array[T ]]]] for Java. */
223- class ArrayParam [T : ClassTag ](
224- parent : Params ,
225- name : String ,
226- doc : String ,
227- isValid : Array [T ] => Boolean )
228- extends Param [Array [T ]](parent, name, doc, isValid) {
223+ class StringArrayParam (parent : Params , name : String , doc : String , isValid : Array [String ] => Boolean )
224+ extends Param [Array [String ]](parent, name, doc, isValid) {
229225
230226 def this (parent : Params , name : String , doc : String ) =
231227 this (parent, name, doc, ParamValidators .alwaysTrue)
232228
233- override def w (value : Array [T ]): ParamPair [Array [T ]] = super .w(value)
229+ override def w (value : Array [String ]): ParamPair [Array [String ]] = super .w(value)
234230
235- private [param] def wCast (value : Seq [T ]): ParamPair [Array [T ]] = w(value.toArray)
231+ private [param] def wCast (value : Seq [String ]): ParamPair [Array [String ]] = w(value.toArray)
236232}
237233
238234/**
@@ -328,8 +324,8 @@ trait Params extends Identifiable with Serializable {
328324 */
329325 protected final def set [T ](param : Param [T ], value : T ): this .type = {
330326 shouldOwn(param)
331- if (param.isInstanceOf [ArrayParam [_] ] && value.isInstanceOf [Seq [_]]) {
332- paramMap.put(param.asInstanceOf [ArrayParam [ Any ]] .wCast(value.asInstanceOf [Seq [Any ]]))
327+ if (param.isInstanceOf [StringArrayParam ] && value.isInstanceOf [Seq [_]]) {
328+ paramMap.put(param.asInstanceOf [StringArrayParam ] .wCast(value.asInstanceOf [Seq [String ]]))
333329 } else {
334330 paramMap.put(param.w(value))
335331 }
0 commit comments