FavoritesRequest.java :  » Twitter » java-twitter » net » unto » twitter » methods » Java Open Source

Java Open Source » Twitter » java twitter 
java twitter » net » unto » twitter » methods » FavoritesRequest.java
package net.unto.twitter.methods;

import java.util.List;

import net.unto.twitter.JsonUtil;
import net.unto.twitter.TwitterProtos.Status;

/**
 * Returns the 20 most recent favorite statuses for the authenticating user or
 * user specified by the ID parameter in the requested format.
 */
public final class FavoritesRequest extends AbstractRequest {

  public static Builder builder() {
    return new Builder();
  }

  FavoritesRequest(Builder builder) {
    super(builder);
  }

  public static final class Builder extends AbstractRequest.Builder<Builder> {

    Builder() {
      path("/favorites.json");
      authorizationRequired(true);
    }

    /**
     * The ID or screen name of the user for whom to request a list of favorite
     * statuses.
     * 
     * @param id The ID or screen name of the user for whom to request a list of
     *        favorite statuses.
     * @return {@link FavoritesRequest}
     */
    public Builder id(String id) {
      assert (id != null);
      path(String.format("/favorites/%s.json", id));
      authorizationRequired(false);
      return this;
    }

    /**
     * Retrieves the 20 next most recent favorite statuses.
     * 
     * @param page Retrieves the 20 next most recent favorite statuses.
     * @return {@link FavoritesRequest}
     */
    public Builder page(int page) {
      return parameter("page", Integer.toString(page));
    }

    public FavoritesRequest build() {
      return new FavoritesRequest(this);
    }
  }

  /**
   * Returns the 20 most recent favorite statuses for the authenticating user or
   * user specified by the ID parameter in the requested format.
   * 
   * @return {@link List} of {@link Status}
   */
  public List<Status> get() {
    return JsonUtil.newStatusList(getJson());
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.