Android Open Source - pocket4android Retrieve Response






From Project

Back to project page pocket4android.

License

The source code is released under:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, includin...

If you think the Android project pocket4android 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

/*
 * Copyright (c) 2012-2014 Yu AOKI/*from w w  w .  j av  a 2  s .c o  m*/
 *
 * This software may be modified and distributed under the terms
 * of the MIT license.  See the LICENSE file for details.
 */

package com.aokyu.dev.pocket;

import com.aokyu.dev.pocket.content.Image;
import com.aokyu.dev.pocket.content.Page;
import com.aokyu.dev.pocket.content.Page.ImageState;
import com.aokyu.dev.pocket.content.Page.VideoState;
import com.aokyu.dev.pocket.content.Video;
import com.aokyu.dev.pocket.error.PocketException;
import com.aokyu.dev.pocket.util.JSONUtils;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class RetrieveResponse extends Response {

    public final class Parameter {

        public static final String STATUS = "status";
        public static final String LIST = "list";
        public static final String ITEM_ID = "item_id";
        public static final String RESOLVED_ID = "resolved_id";
        public static final String GIVEN_URL = "given_url";
        public static final String RESOLVED_URL = "resolved_url";
        public static final String GIVEN_TITLE = "given_title";
        public static final String RESOLVED_TITLE = "resolved_title";
        public static final String FAVORITE = "favorite";
        public static final String EXCERPT = "excerpt";
        public static final String IS_ARTICLE = "is_article";
        public static final String HAS_IMAGE = "has_image";
        public static final String HAS_VIDEO = "has_video";
        public static final String WORD_COUNT = "word_count";
        public static final String TAGS = "tags";
        public static final String AUTHORS = "authors";
        public static final String IMAGES = "images";
        public static final String VIDEOS = "videos";

        private Parameter() {}

    }

    /* package */ RetrieveResponse(JSONObject jsonObj, Map<String, List<String>> headerFields)
            throws JSONException, PocketException {
        super(jsonObj, Parameter.LIST, headerFields);
    }

    public String[] getUIDs() {
        Set<String> uids = keySet();
        return uids.toArray(new String[0]);
    }

    public Page getItem(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        Page page = new Page.Builder(obj).build();
        return page;
    }

    public List<Page> getItems() throws JSONException {
        List<Page> pages = new ArrayList<Page>();
        String[] uids = getUIDs();
        for (String uid : uids) {
            JSONObject obj = (JSONObject) get(uid);
            Page page = new Page.Builder(obj).build();
            pages.add(page);
        }
        return pages;
    }

    public JSONObject getItemAsJSONObject(String uid) {
        return (JSONObject) get(uid);
    }

    public String getResolvedId(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        return obj.getString(Parameter.RESOLVED_ID);
    }

    public String getGivenUrl(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        return obj.getString(Parameter.GIVEN_URL);
    }

    public String getResolvedUrl(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        return obj.getString(Parameter.RESOLVED_URL);
    }

    public String getGivenTitle(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        return obj.getString(Parameter.GIVEN_TITLE);
    }

    public String getResolvedTitle(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        return obj.getString(Parameter.RESOLVED_TITLE);
    }

    public boolean isFavorited(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        int state = -1;
        try {
            state = obj.getInt(Parameter.FAVORITE);
            return (state == 1);
        } catch (NumberFormatException e) {
            return false;
        }
    }

    public String getExcerpt(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        return obj.getString(Parameter.EXCERPT);
    }

    public boolean isArticle(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        int state = -1;
        try {
            state = obj.getInt(Parameter.IS_ARTICLE);
            return (state == 1);
        } catch (NumberFormatException e) {
            return false;
        }
    }

    public ImageState getImageState(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        int state = -1;
        try {
            state = obj.getInt(Parameter.HAS_IMAGE);
            return ImageState.valueOf(state);
        } catch (NumberFormatException e) {
            return null;
        }
    }

    public VideoState getVideoState(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        int state = -1;
        try {
            state = obj.getInt(Parameter.HAS_VIDEO);
            return VideoState.valueOf(state);
        } catch (NumberFormatException e) {
            return null;
        }
    }

    public int getWordCount(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        return obj.getInt(Parameter.WORD_COUNT);
    }

    public String[] getTags(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        JSONObject tags = obj.getJSONObject(Parameter.TAGS);
        return JSONUtils.getKeys(tags);
    }

    public String[] getAuthors(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        JSONObject tags = obj.getJSONObject(Parameter.AUTHORS);
        return JSONUtils.getKeys(tags);
    }

    public Image[] getImages(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        Image[] images = null;
        JSONObject jsonImages = obj.getJSONObject(Parameter.IMAGES);
        String[] keys = JSONUtils.getKeys(jsonImages);
        int size = keys.length;
        if (size > 0) {
            images = new Image[size];
            for(int i = 0; i < size; i++) {
                String key = keys[i];
                try {
                    JSONObject image = jsonImages.getJSONObject(key);
                    images[i] = new Image.Builder(image).build();
                } catch (JSONException e) {
                }
            }
        }
        return images;
    }

    public Video[] getVideos(String uid) throws JSONException {
        JSONObject obj = (JSONObject) get(uid);
        Video[] videos = null;
        JSONObject jsonVideo = obj.getJSONObject(Parameter.VIDEOS);
        String[] keys = JSONUtils.getKeys(jsonVideo);
        int size = keys.length;
        if (size > 0) {
            videos = new Video[size];
            for(int i = 0; i < size; i++) {
                String key = keys[i];
                try {
                    JSONObject video = jsonVideo.getJSONObject(key);
                    videos[i] = new Video.Builder(video).build();
                } catch (JSONException e) {
                }
            }
        }
        return videos;
    }
}




Java Source Code List

com.aokyu.dev.pocket.AccessToken.java
com.aokyu.dev.pocket.AddRequest.java
com.aokyu.dev.pocket.AddResponse.java
com.aokyu.dev.pocket.AuthCallbackActivity.java
com.aokyu.dev.pocket.AuthRequestParameter.java
com.aokyu.dev.pocket.AuthResponseParameter.java
com.aokyu.dev.pocket.AuthorizationCallback.java
com.aokyu.dev.pocket.ClientLimit.java
com.aokyu.dev.pocket.ConsumerKey.java
com.aokyu.dev.pocket.ModifyRequest.java
com.aokyu.dev.pocket.ModifyResponse.java
com.aokyu.dev.pocket.PocketClient.java
com.aokyu.dev.pocket.PocketServer.java
com.aokyu.dev.pocket.RateLimit.java
com.aokyu.dev.pocket.RequestToken.java
com.aokyu.dev.pocket.Request.java
com.aokyu.dev.pocket.Response.java
com.aokyu.dev.pocket.RetrieveRequestParameter.java
com.aokyu.dev.pocket.RetrieveRequest.java
com.aokyu.dev.pocket.RetrieveResponse.java
com.aokyu.dev.pocket.UserLimit.java
com.aokyu.dev.pocket.content.Image.java
com.aokyu.dev.pocket.content.MediaItem.java
com.aokyu.dev.pocket.content.Page.java
com.aokyu.dev.pocket.content.PocketItem.java
com.aokyu.dev.pocket.content.Video.java
com.aokyu.dev.pocket.error.ErrorCode.java
com.aokyu.dev.pocket.error.ErrorHandler.java
com.aokyu.dev.pocket.error.ErrorResponse.java
com.aokyu.dev.pocket.error.InvalidRequestException.java
com.aokyu.dev.pocket.error.PocketException.java
com.aokyu.dev.pocket.http.ContentType.java
com.aokyu.dev.pocket.http.HttpClient.java
com.aokyu.dev.pocket.http.HttpHeader.java
com.aokyu.dev.pocket.http.HttpHeaders.java
com.aokyu.dev.pocket.http.HttpMethod.java
com.aokyu.dev.pocket.http.HttpParameters.java
com.aokyu.dev.pocket.http.HttpRequest.java
com.aokyu.dev.pocket.http.HttpResponse.java
com.aokyu.dev.pocket.http.MessageBody.java
com.aokyu.dev.pocket.util.HttpUtils.java
com.aokyu.dev.pocket.util.JSONUtils.java
com.aokyu.dev.pocket.util.PocketUtils.java
com.hyperionics.PocketTest.AndyUtil.java
com.hyperionics.PocketTestBrowser.AndyUtil.java
com.hyperionics.PocketTestBrowser.Lt.java
com.hyperionics.PocketTestBrowser.PocketActivity.java
com.hyperionics.PocketTest.Lt.java
com.hyperionics.PocketTest.PocketActivity.java
com.hyperionics.PocketTest.SimpleBrowser.java