/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package automenta.spacenet.plugin.comm.twitter;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import twitter4j.Status;
import twitter4j.Trends;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.User;
/**
*
* @author seh
*/
abstract public class TwitterAgent {
protected final Twitter t;
public TwitterAgent() {
super();
t = new Twitter();
t.setClientVersion("SpaceNet NeurOSelf 001");
}
public void addProfile(String userID) {
try {
List<Status> pt = t.getUserTimeline(userID);
onStatus(pt);
} catch (TwitterException ex) {
Logger.getLogger(TwitterAgent.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void addPublicTimeline() {
List<Status> pt;
try {
pt = t.getPublicTimeline();
onStatus(pt);
} catch (TwitterException ex) {
ex.printStackTrace();
}
}
void stop() {
}
public void onStatus(List<Status> pt) {
for (Status s : pt) {
onStatus(s);
}
}
abstract protected void onStatus(Status s);
public User getUser(String id) {
try {
return t.showUser(id);
} catch (TwitterException ex) {
return null;
}
}
public Trends getTrends() {
try {
return t.getTrends();
}
catch (TwitterException ex) {
return null;
}
}
}