package org.silverpeas.mobile.shared.dto.media;

import static org.fusesource.restygwt.client.AbstractJsonEncoderDecoder.*;

public class PhotoDTO_Generated_JsonEncoderDecoder_ extends org.fusesource.restygwt.client.AbstractJsonEncoderDecoder<org.silverpeas.mobile.shared.dto.media.PhotoDTO> {
  
  public static final PhotoDTO_Generated_JsonEncoderDecoder_ INSTANCE = new PhotoDTO_Generated_JsonEncoderDecoder_();
  
  public com.google.gwt.json.client.JSONValue encode(org.silverpeas.mobile.shared.dto.media.PhotoDTO value) {
    if( value==null ) {
      return getNullType();
    }
      return encodePhotoDTO611960168(value);
    }
    
    private com.google.gwt.json.client.JSONValue encodePhotoDTO611960168( org.silverpeas.mobile.shared.dto.media.PhotoDTO value) {
      com.google.gwt.json.client.JSONObject rc = new com.google.gwt.json.client.JSONObject();
      com.google.gwt.json.client.JSONValue className=STRING.encode("PhotoDTO");
      if( className!=null ) { 
        rc.put("@class", className);
      }
      org.silverpeas.mobile.shared.dto.media.PhotoDTO parseValue = (org.silverpeas.mobile.shared.dto.media.PhotoDTO)value;
      isNotNullValuePut(STRING.encode(parseValue.getDataPhoto()), rc, "dataPhoto");
      isNotNullValuePut(STRING.encode(parseValue.getFormat()), rc, "format");
      isNotNullValuePut(INT.encode(parseValue.getSizeH()), rc, "sizeH");
      isNotNullValuePut(INT.encode(parseValue.getSizeL()), rc, "sizeL");
      isNotNullValuePut(BOOLEAN.encode(parseValue.getDownload()), rc, "download");
      isNotNullValuePut(STRING.encode(parseValue.getTitle()), rc, "title");
      isNotNullValuePut(STRING.encode(parseValue.getName()), rc, "name");
      isNotNullValuePut(STRING.encode(parseValue.getUpdateDate()), rc, "updateDate");
      isNotNullValuePut(STRING.encode(parseValue.getUpdater()), rc, "updater");
      isNotNullValuePut(STRING.encode(parseValue.getCreator()), rc, "creator");
      isNotNullValuePut(STRING.encode(parseValue.getCreationDate()), rc, "creationDate");
      isNotNullValuePut(INT.encode(parseValue.getCommentsNumber()), rc, "commentsNumber");
      isNotNullValuePut(STRING.encode(parseValue.getInstance()), rc, "instance");
      isNotNullValuePut(STRING.encode(parseValue.getMimeType()), rc, "mimeType");
      isNotNullValuePut(LONG.encode(parseValue.getSize()), rc, "size");
      isNotNullValuePut(STRING.encode(parseValue.getId()), rc, "id");
      return rc;
    }
    
    public org.silverpeas.mobile.shared.dto.media.PhotoDTO decode(com.google.gwt.json.client.JSONValue value) {
      if( value == null || value.isNull()!=null ) {
        return null;
      }
      com.google.gwt.json.client.JSONObject object = toObject(value);
        return decodePhotoDTO611960168(object);
      }
      
      private org.silverpeas.mobile.shared.dto.media.PhotoDTO decodePhotoDTO611960168(com.google.gwt.json.client.JSONObject object) {
        org.silverpeas.mobile.shared.dto.media.PhotoDTO rc = new org.silverpeas.mobile.shared.dto.media.PhotoDTO();
        rc.setDataPhoto(getValueToSet(STRING.decode(object.get("dataPhoto")), null));
        rc.setFormat(getValueToSet(STRING.decode(object.get("format")), null));
        rc.setSizeH(getValueToSet(INT.decode(object.get("sizeH")), 0));
        rc.setSizeL(getValueToSet(INT.decode(object.get("sizeL")), 0));
        rc.setDownload(getValueToSet(BOOLEAN.decode(object.get("download")), false));
        rc.setTitle(getValueToSet(STRING.decode(object.get("title")), null));
        rc.setName(getValueToSet(STRING.decode(object.get("name")), null));
        rc.setUpdateDate(getValueToSet(STRING.decode(object.get("updateDate")), null));
        rc.setUpdater(getValueToSet(STRING.decode(object.get("updater")), null));
        rc.setCreator(getValueToSet(STRING.decode(object.get("creator")), null));
        rc.setCreationDate(getValueToSet(STRING.decode(object.get("creationDate")), null));
        rc.setCommentsNumber(getValueToSet(INT.decode(object.get("commentsNumber")), 0));
        rc.setInstance(getValueToSet(STRING.decode(object.get("instance")), null));
        rc.setMimeType(getValueToSet(STRING.decode(object.get("mimeType")), null));
        rc.setSize(getValueToSet(LONG.decode(object.get("size")), 0L));
        rc.setId(getValueToSet(STRING.decode(object.get("id")), null));
        return rc;
      }
      
    }
