def jsonFormat2
[ P1
: JF, P2
: JF, T
<: Product
: ClassManifest
] ( construct
: ( P1, P2
) => T
) : RootJsonFormat
[ T
] = { val Array
( p1, p2
) = extractFieldNames
( classManifest
[ T
] ) jsonFormat( construct, p1, p2)
}
def jsonFormat
[ P1
: JF, P2
: JF, T
<: Product
] ( construct
: ( P1, P2
) => T, fieldName1
: String, fieldName2
: String
) : RootJsonFormat
[ T
] = new RootJsonFormat
[ T
] { val fields
= new collection.
mutable .
ListBuffer [ ( String, JsValue
) ] fields.sizeHint ( 2 * 2 )
fields ++= productElement2Field[ P1] ( fieldName1, p, 0 )
fields ++= productElement2Field[ P2] ( fieldName2, p, 1 )
JsObject( fields: _* )
}
def read
( value
: JsValue
) = { val p1V
= fromField
[ P1
] ( value, fieldName1
) val p2V
= fromField
[ P2
] ( value, fieldName2
) construct( p1V, p2V)
}
}
def apply
( columnNumber
: Int
) : Any
def apply
( columnName
: String
) : Any
}
def apply
( row
: Row
) : A
= { A( data = row( 0 ) .asInstanceOf [ String] )
}
}
}
// your code goes here
}
ZGVmIGpzb25Gb3JtYXQyW1AxIDpKRiwgUDIgOkpGLCBUIDw6IFByb2R1Y3QgOkNsYXNzTWFuaWZlc3RdKGNvbnN0cnVjdDogKFAxLCBQMikgPT4gVCk6IFJvb3RKc29uRm9ybWF0W1RdID0gewogIHZhbCBBcnJheShwMSwgcDIpID0gZXh0cmFjdEZpZWxkTmFtZXMoY2xhc3NNYW5pZmVzdFtUXSkKICBqc29uRm9ybWF0KGNvbnN0cnVjdCwgcDEsIHAyKQp9CgpkZWYganNvbkZvcm1hdFtQMSA6SkYsIFAyIDpKRiwgVCA8OiBQcm9kdWN0XShjb25zdHJ1Y3Q6IChQMSwgUDIpID0+IFQsIGZpZWxkTmFtZTE6IFN0cmluZywgZmllbGROYW1lMjogU3RyaW5nKTogUm9vdEpzb25Gb3JtYXRbVF0gPSBuZXcgUm9vdEpzb25Gb3JtYXRbVF17CiAgZGVmIHdyaXRlKHA6IFQpID0gewogICAgdmFsIGZpZWxkcyA9IG5ldyBjb2xsZWN0aW9uLm11dGFibGUuTGlzdEJ1ZmZlclsoU3RyaW5nLCBKc1ZhbHVlKV0KICAgIGZpZWxkcy5zaXplSGludCgyICogMikKICAgIGZpZWxkcyArKz0gcHJvZHVjdEVsZW1lbnQyRmllbGRbUDFdKGZpZWxkTmFtZTEsIHAsIDApCiAgICBmaWVsZHMgKys9IHByb2R1Y3RFbGVtZW50MkZpZWxkW1AyXShmaWVsZE5hbWUyLCBwLCAxKQogICAgSnNPYmplY3QoZmllbGRzOiBfKikKICB9CiAgZGVmIHJlYWQodmFsdWU6IEpzVmFsdWUpID0gewogICAgdmFsIHAxViA9IGZyb21GaWVsZFtQMV0odmFsdWUsIGZpZWxkTmFtZTEpCiAgICB2YWwgcDJWID0gZnJvbUZpZWxkW1AyXSh2YWx1ZSwgZmllbGROYW1lMikKICAgIGNvbnN0cnVjdChwMVYsIHAyVikKICB9Cn0KCnRyYWl0IFJvdyBleHRlbmRzIEluZGV4ZWRTZXFbQW55XSB7CglkZWYgYXBwbHkoY29sdW1uTnVtYmVyOiBJbnQgKTogQW55CglkZWYgYXBwbHkoY29sdW1uTmFtZTogU3RyaW5nICk6IEFueQoJZGVmIHJvd051bWJlcjogSW50Cn0KCgphYnN0cmFjdCBjbGFzcyBPCmNhc2UgY2xhc3MgQShpZDogU3RyaW5nID0gIkEiLCBkYXRhOiBTdHJpbmcpIGV4dGVuZHMgTwoKb2JqZWN0IEEgewoJZGVmIGFwcGx5KHJvdzogUm93KTogQSA9IHsKCQlBKGRhdGEgPSByb3coMCkuYXNJbnN0YW5jZU9mW1N0cmluZ10pCgl9Cn0KCm9iamVjdCB0RVJQSnNvblByb3RvY29sIGV4dGVuZHMgRGVmYXVsdEpzb25Qcm90b2NvbCB7CglpbXBsaWNpdCB2YWwgaW1wQSA9IGpzb25Gb3JtYXQyKEEpCn0KCm9iamVjdCBNYWluIGV4dGVuZHMgQXBwIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKfQ==
compilation info
/opt/scala/bin/scalac: line 50: /dev/null: Permission denied
Main.scala:1: error: expected class or object definition
def jsonFormat2[P1 :JF, P2 :JF, T <: Product :ClassManifest](construct: (P1, P2) => T): RootJsonFormat[T] = {
^
Main.scala:6: error: expected class or object definition
def jsonFormat[P1 :JF, P2 :JF, T <: Product](construct: (P1, P2) => T, fieldName1: String, fieldName2: String): RootJsonFormat[T] = new RootJsonFormat[T]{
^
two errors found
spoj: The program compiled successfully, but Main.class was not found.
Class Main should contain method: def main(args: Array[String]).
stdout