2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
6 package twitter.action;
10 import javax.xml.bind.Marshaller.Listener;
12 import twitter.action.streaming.TweetStreamingListener;
13 import twitter.manage.TweetManager;
14 import twitter4j.Status;
20 public class TweetSearchResultGetter implements TweetGetter{
23 private TweetManager tweetManager;
25 private String searchWord;
33 public TweetSearchResultGetter(TweetManager tweetManager, String searchWord) {
34 this.tweetManager = tweetManager;
35 this.searchWord = searchWord;
39 * 指定したワードのツイートを指定した数だけ取得
43 public List<Status> getTweetData(int num) {
44 List<Status> status = tweetManager.getSearchResult(num, searchWord);
45 if( status != null ) {
46 //一番最後のtweetのsinceIDを取得する
47 int lastnum = status.size();
49 sinceID = status.get(lastnum - 1).getId();
56 * 指定したワードのツイートの新しく投稿されたものだけを取得
60 public List<Status> getNewTweetData() {
61 List<Status> status = tweetManager.getNewSearchResult(this.sinceID, this.searchWord);
62 if( status != null ) {
63 //一番最後のtweetのsinceIDを取得する
64 int lastnum = status.size();
66 sinceID = status.get(lastnum - 1).getId();
73 public void setUpdateListener(TweetStreamingListener listener) {
74 if( listener != null ) {
75 tweetManager.getStreamManager().setSearchListener(this.searchWord, listener);
80 * streaming api有効時のアップデートを受け取るlistenerを削除
82 public void stopUpdateListener() {
83 tweetManager.getStreamManager().stopSearchListener(this.searchWord);