package top.spoofer.hbrdd.unit import org.apache.hadoop.hbase.util.Bytes import org.json4s._ trait HbRddWriters { implicit val hbBooleanWriter = new HbRddFormatsWriter[Boolean] { def formatsWrite(writeData: Boolean): Array[Byte] = Bytes.toBytes(writeData) } implicit val hbArrayWriter = new HbRddFormatsWriter[Array[Byte]] { def formatsWrite(writeData: Array[Byte]): Array[Byte] = writeData } implicit val hbShortWriter = new HbRddFormatsWriter[Short] { def formatsWrite(writeData: Short): Array[Byte] = Bytes.toBytes(writeData) } implicit val hbIntWriter = new HbRddFormatsWriter[Int] { def formatsWrite(writeData: Int): Array[Byte] = Bytes.toBytes(writeData) } implicit val hbFloatWriter = new HbRddFormatsWriter[Float] { def formatsWrite(writeData: Float): Array[Byte] = Bytes.toBytes(writeData) } implicit val hbDoubleWrite = new HbRddFormatsWriter[Double] { def formatsWrite(writeData: Double): Array[Byte] = Bytes.toBytes(writeData) } implicit val hbLongWrite = new HbRddFormatsWriter[Long] { def formatsWrite(writeData: Long): Array[Byte] = Bytes.toBytes(writeData) } implicit val hbStringWrite = new HbRddFormatsWriter[String] { def formatsWrite(writeData: String): Array[Byte] = Bytes.toBytes(writeData) } implicit val hbJsonWrite = new HbRddFormatsWriter[JValue] { import org.json4s.jackson.JsonMethods._ def formatsWrite(writeData: JValue): Array[Byte] = Bytes.toBytes(compact(writeData)) } }