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;
12 import twitter.manage.TweetManager;
13 import twitter.manage.TweetNotifyManager;
14 import twitter4j.Status;
15 import twitter4j.TwitterException;
21 public class TweetMentionGetter implements TweetGetter{
24 private TweetManager tweetManager;
26 private TweetNotifyManager notifyManager = null;
27 //1回目の最初の呼び出しかどうか, 1回目の呼び出しの際は通知バーにメッセージを表示しない
28 private boolean isFirstTime = true;
34 public TweetMentionGetter(TweetManager tweetManager) {
35 this.tweetManager = tweetManager;
41 * @param trayIcon タスクバーの通知用アイコン
43 public TweetMentionGetter(TweetManager tweetManager, TrayIcon trayIcon) {
44 this.tweetManager = tweetManager;
45 this.notifyManager = new TweetNotifyManager(trayIcon);
49 * Mentionツイートを指定した数だけ取得
54 public List<Status> getTweetData(int num) {
55 List<Status> status = null;
57 status = tweetManager.getMentions(num);
58 if( notifyManager != null && isFirstTime == false) {
59 this.notifyManager.showNotifyMessage(status);
62 } catch (TwitterException ex) {
63 Logger.getLogger(TweetMentionGetter.class.getName()).log(Level.SEVERE, null, ex);
69 * Mentionツイートの新しく投稿されたものだけを取得
73 public List<Status> getNewTweetData() {
74 List<Status> status = null;
76 status = tweetManager.getNewMentionData();
77 if( notifyManager != null && isFirstTime == false) {
78 this.notifyManager.showNotifyMessage(status);
81 } catch (TwitterException ex) {
82 Logger.getLogger(TweetMentionGetter.class.getName()).log(Level.SEVERE, null, ex);