using case class would make sense here. e.g. 
case class DatabaseRuleMatch(rule:DatabaseRule, checkable:Checkable) {
  def toJSONObject: JSONObject = rule.toJSONObjectForCheckable(checkable)
}
No need to wrap constructor parameter with vars in Scala in either case.