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

com.sksamuel.scruffy.jackson.JacksonXml.scala Maven / Gradle / Ivy

The newest version!
package com.sksamuel.scruffy.jackson

import com.fasterxml.jackson.dataformat.xml.XmlMapper
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper

object JacksonXml {

  private val xmlMapper = new XmlMapper with ScalaObjectMapper
  xmlMapper.registerModule(DefaultScalaModule)

  def marshall(entity: Any): Array[Byte] = entity match {
    case array: Array[Byte] => array
    case str: String => str.getBytes("UTF-8")
    case node: scala.xml.Node => node.toString().getBytes("UTF-8")
    case _ => xmlMapper.writeValueAsBytes(entity)
  }

  def unmarshall[T: Manifest](bytes: Array[Byte]) = xmlMapper.readValue[T](bytes)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy