package twitter.manage;\r
\r
+import twitter.action.streaming.TweetStreamingListener;\r
import twitter4j.DirectMessage;\r
import twitter4j.Status;\r
import twitter4j.TwitterStream;\r
public class TweetUserStream extends UserStreamAdapter{\r
//streaming\r
private TwitterStream twitterStream = null;\r
+ //timeline監視listener\r
+ private TweetStreamingListener timelineListener = null;\r
+ //tweet manager\r
+ private TweetManager tweetManager = null;\r
\r
/**\r
*\r
* @param consumerKey\r
* @param consumerSecret\r
* @param ac アクセストークン\r
+ * @param tweetManager\r
*/\r
- public TweetUserStream(String consumerKey, String consumerSecret, AccessToken ac) {\r
+ public TweetUserStream(String consumerKey, String consumerSecret, AccessToken ac, TweetManager tweetManager) {\r
+ this.tweetManager = tweetManager;\r
this.twitterStream = new TwitterStreamFactory().getInstance();\r
this.twitterStream.setOAuthConsumer(consumerKey, consumerSecret);\r
this.twitterStream.setOAuthAccessToken(ac);\r
this.twitterStream.addListener(this);\r
this.twitterStream.user();\r
+\r
+ }\r
+\r
+ /**\r
+ * タイムライン監視\r
+ * @param timelineListener\r
+ */\r
+ public void setTimelineListener(TweetStreamingListener timelineListener) {\r
+ this.timelineListener = timelineListener;\r
}\r
\r
+\r
@Override\r
public void onStatus(Status status) {\r
if( status.isRetweetedByMe() ) {\r
}\r
System.out.println("@" + status.getUser().getScreenName() + " - "\r
+ status.getText());\r
+\r
+ //タイムライン監視\r
+ if( this.timelineListener != null ) {\r
+ this.timelineListener.update(status);\r
+ this.tweetManager.setSinceTweetID(status.getId());\r
+ }\r
}\r
\r
@Override\r