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

org.msgpack.template.CalendarTemplate.scala Maven / Gradle / Ivy

The newest version!
package org.msgpack.template

import org.msgpack.packer.Packer
import org.msgpack.MessageTypeException
import org.msgpack.unpacker.Unpacker
import java.util.{Calendar, Date}

/*
 * Template for Calendar.
 * This template convert Calendar to long which is millisec from epoch
 * User: takeshita
 * Date: 11/03/11
 * Time: 11:11
 */
class CalendarTemplate extends AbstractTemplate[Calendar]{

  def write(packer: Packer, v: Calendar, required: Boolean) : Unit = {
    if(v == null){
      if(required){
        throw new MessageTypeException("Attempted to write null")
      }
      packer.writeNil()
    }else{
      packer.write(v.getTimeInMillis())
    }
  }

  def read(u: Unpacker, to: Calendar, required: Boolean): Calendar = {

    if(!required && u.trySkipNil){
      return null
    }
    val c = Calendar.getInstance()
    c.setTimeInMillis(u.readLong())
    c
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy