Android Open Source - java_mega_api G S O N Util






From Project

Back to project page java_mega_api.

License

The source code is released under:

GNU General Public License

If you think the Android project java_mega_api listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.danbrough.mega;
//  w w w.  j  a  v  a 2s.c o m
import java.lang.reflect.Type;

import org.danbrough.mega.Node.AccessLevel;
import org.danbrough.mega.Node.NodeType;
import org.danbrough.mega.User.Visibility;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

public class GSONUtil {

  private static class NodeTypeSerializer implements JsonSerializer<NodeType>,
      JsonDeserializer<NodeType> {
    @Override
    public JsonElement serialize(NodeType src, Type typeOfSrc,
        JsonSerializationContext context) {
      return new JsonPrimitive(src.getValue());
    }

    @Override
    public NodeType deserialize(JsonElement json, Type typeOfT,
        JsonDeserializationContext context) throws JsonParseException {
      return NodeType.get(json.getAsInt());
    }
  }

  private static class AccessLevelSerializer implements
      JsonSerializer<AccessLevel>, JsonDeserializer<AccessLevel> {

    @Override
    public AccessLevel deserialize(JsonElement json, Type typeOfT,
        JsonDeserializationContext context) throws JsonParseException {
      return AccessLevel.get(json.getAsInt());
    }

    @Override
    public JsonElement serialize(AccessLevel src, Type typeOfSrc,
        JsonSerializationContext context) {
      return new JsonPrimitive(src.getValue());
    }

  }

  private static class VisibilitySerializer implements
      JsonSerializer<Visibility>, JsonDeserializer<Visibility> {

    @Override
    public Visibility deserialize(JsonElement json, Type typeOfT,
        JsonDeserializationContext context) throws JsonParseException {
      return Visibility.get(json.getAsInt());
    }

    @Override
    public JsonElement serialize(Visibility src, Type typeOfSrc,
        JsonSerializationContext context) {
      return new JsonPrimitive(src.getValue());
    }

  }

  private static GsonBuilder builder = null;

  public static GsonBuilder getGSONBuilder() {
    if (builder != null)
      return builder;
    builder = new GsonBuilder().serializeNulls()
        .registerTypeAdapter(NodeType.class, new NodeTypeSerializer())
        .registerTypeAdapter(AccessLevel.class, new AccessLevelSerializer())
        .registerTypeAdapter(Visibility.class, new VisibilitySerializer());
    return builder;
  }

  public static Gson getGSON() {
    return getGSONBuilder().create();
  }
}




Java Source Code List

org.danbrough.mega.APIError.java
org.danbrough.mega.AccountDetails.java
org.danbrough.mega.AndroidClient.java
org.danbrough.mega.Base64.java
org.danbrough.mega.Callback.java
org.danbrough.mega.CommandFetchNodes.java
org.danbrough.mega.CommandGetFile.java
org.danbrough.mega.CommandGetUserQuota.java
org.danbrough.mega.CommandLogin.java
org.danbrough.mega.CommandPutFile.java
org.danbrough.mega.Command.java
org.danbrough.mega.ExecutorThreadPool.java
org.danbrough.mega.GSONUtil.java
org.danbrough.mega.MegaActivity.java
org.danbrough.mega.MegaApplication.java
org.danbrough.mega.MegaClient.java
org.danbrough.mega.MegaCrypto.java
org.danbrough.mega.MegaFragmentActivity.java
org.danbrough.mega.MegaListener.java
org.danbrough.mega.Node.java
org.danbrough.mega.ThreadPool.java
org.danbrough.mega.User.java
org.danbrough.mega.ui.FilesAdapter.java
org.danbrough.mega.ui.FilesFragment.java
org.danbrough.megatest.MainActivity.java