2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
6 package twitter.action;
8 import java.awt.TrayIcon;
10 import java.util.logging.Level;
11 import java.util.logging.Logger;
13 import twitter.action.streaming.TweetStreamingListener;
14 import twitter.manage.TweetManager;
15 import twitter.manage.TweetNotifyManager;
16 import twitter4j.Status;
17 import twitter4j.TwitterException;
23 public class TweetDirectMessageGetter implements TweetGetter{
26 private TweetManager tweetManager;
28 private TweetNotifyManager notifyManager = null;
29 //1回目の最初の呼び出しかどうか, 1回目の呼び出しの際は通知バーにメッセージを表示しない
30 private boolean isFirstTime = true;
36 public TweetDirectMessageGetter(TweetManager tweetManager) {
37 this.tweetManager = tweetManager;
45 public TweetDirectMessageGetter(TweetManager tweetManager, TrayIcon trayIcon) {
46 this.tweetManager = tweetManager;
47 this.notifyManager = new TweetNotifyManager(trayIcon, "あなた宛のダイレクトメッセージ");
51 * DirectMessageツイートを指定した数だけ取得
56 public List<Status> getTweetData(int num) {
57 List<Status> status = null;
59 status = tweetManager.getDirectMessages(num);
60 if( notifyManager != null && isFirstTime == false) {
61 this.notifyManager.showNotifyMessage(status);
64 } catch (TwitterException ex) {
65 Logger.getLogger(TweetMentionGetter.class.getName()).log(Level.SEVERE, null, ex);
71 * DirectMessageツイートの新しく投稿されたものだけを取得
76 public List<Status> getNewTweetData() {
77 List<Status> status = null;
79 status = tweetManager.getNewDirectMessages();
80 if( notifyManager != null && isFirstTime == false) {
81 this.notifyManager.showNotifyMessage(status);
84 } catch (TwitterException ex) {
85 Logger.getLogger(TweetMentionGetter.class.getName()).log(Level.SEVERE, null, ex);
91 public void setUpdateListener(TweetStreamingListener listener) {
92 // TODO 自動生成されたメソッド・スタブ