Android Open Source - android-reddit Link Factory






From Project

Back to project page android-reddit.

License

The source code is released under:

MIT License

If you think the Android project android-reddit 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 com.pocketreddit.library.things.factories;
/* w  w  w. j  a  va 2 s . com*/
import java.net.MalformedURLException;
import java.net.URL;

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

import com.pocketreddit.library.things.Link;

public class LinkFactory implements ThingFactory {

    private JSONObject json;

    public LinkFactory(JSONObject json) {
        this.json = json;
    }

    public Link createThing() throws ThingFactoryException {
        Link link = new Link();
        try {
            JSONObject data = json.getJSONObject("data");
            link.setDomain(data.getString("domain"));
            link.setClicked(data.getBoolean("clicked"));
            link.setHidden(data.getBoolean("hidden"));
            link.setSelfPost(data.getBoolean("is_self"));
            link.setMedia(data.optJSONObject("media"));
            link.setNumComments(data.getInt("num_comments"));
            link.setOver18(data.optBoolean("over18", false));
            link.setPermalink(data.getString("permalink"));
            link.setSaved(data.getBoolean("saved"));
            link.setScore(data.getInt("score"));

            String thumbString = data.optString("thumbnail");
            
            //FIXME should not ignore self/default/nsfw thumbnails
            if (thumbString != null && !"".equals(thumbString) && !"self".equals(thumbString)
                    && !"default".equals(thumbString) && !"nsfw".equals(thumbString)) {
                link.setThumbnail(new URL(thumbString));
            }

            link.setTitle(data.getString("title"));
            link.setUrl(data.getString("url"));
        } catch (JSONException e) {
            throw new ThingFactoryException("Couldn't parse JSON object into link.", e);
        } catch (MalformedURLException e) {
            throw new ThingFactoryException("Couldn't parse URL for thumbnail in JSON value.", e);
        }

        return link;
    }
}




Java Source Code List

com.pocketreddit.library.Constants.java
com.pocketreddit.library.Created.java
com.pocketreddit.library.JsonParsingException.java
com.pocketreddit.library.Votable.java
com.pocketreddit.library.authentication.AuthenticationException.java
com.pocketreddit.library.authentication.Authenticator.java
com.pocketreddit.library.authentication.LiveAuthenticator.java
com.pocketreddit.library.authentication.LoginResult.java
com.pocketreddit.library.datasources.DataSourceException.java
com.pocketreddit.library.datasources.JsonDataSource.java
com.pocketreddit.library.datasources.LiveDataSource.java
com.pocketreddit.library.datasources.RedditDataSource.java
com.pocketreddit.library.net.HttpHelper.java
com.pocketreddit.library.net.NetException.java
com.pocketreddit.library.things.Account.java
com.pocketreddit.library.things.Comment.java
com.pocketreddit.library.things.Kind.java
com.pocketreddit.library.things.Link.java
com.pocketreddit.library.things.Listing.java
com.pocketreddit.library.things.Message.java
com.pocketreddit.library.things.More.java
com.pocketreddit.library.things.Subreddit.java
com.pocketreddit.library.things.Thing.java
com.pocketreddit.library.things.UserSubmittedContent.java
com.pocketreddit.library.things.factories.CommentFactory.java
com.pocketreddit.library.things.factories.LinkFactory.java
com.pocketreddit.library.things.factories.ListingFactory.java
com.pocketreddit.library.things.factories.SubredditFactory.java
com.pocketreddit.library.things.factories.ThingFactoryException.java
com.pocketreddit.library.things.factories.ThingFactory.java
com.pocketreddit.library.things.utils.JsonToThingConverter.java
com.pocketreddit.library.utils.StreamUtils.java
com.pocketreddit.library.utils.UtilsException.java