All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scalariform.utils.CaseClassReflector.scala Maven / Gradle / Ivy

The newest version!
package scalariform.utils

trait CaseClassReflector extends Product {

  def getFields: List[(String, Any)] = {
    val names = getClass.getDeclaredFields map { _.getName }
    names.toList zip productIterator.toList
  }

  private def getFieldsOld: List[(String, Any)] = {
    var fieldValueToName: Map[Any, String] = Map()
    for (field ← getClass.getDeclaredFields) {
      field.setAccessible(true)
      fieldValueToName += (field.get(this) -> field.getName)
    }
    productIterator.toList map { value ⇒ fieldValueToName(value) -> value }
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy