package net.dev123.sns;
import net.dev123.commons.PagingSupport;
import net.dev123.commons.http.auth.Authorization;
import net.dev123.commons.oauth.config.OAuthConfiguration;
import net.dev123.commons.oauth.config.OAuthConfigurationFactory;
import net.dev123.exception.LibException;
import net.dev123.sns.api.AdminMethods;
import net.dev123.sns.api.CommentMethods;
import net.dev123.sns.api.FriendshipMethods;
import net.dev123.sns.api.LikeMethods;
import net.dev123.sns.api.NoteMethods;
import net.dev123.sns.api.PageMethods;
import net.dev123.sns.api.MediaMethods;
import net.dev123.sns.api.FeedMethods;
import net.dev123.sns.api.StatusMethods;
import net.dev123.sns.api.UserMethods;
public abstract class Sns extends PagingSupport implements
AdminMethods, FriendshipMethods, PageMethods, UserMethods,
StatusMethods, NoteMethods, MediaMethods, LikeMethods,
CommentMethods, FeedMethods {
protected final OAuthConfiguration oauthConf;
protected Authorization auth;
public Sns(Authorization auth) {
this.auth = auth;
this.oauthConf = OAuthConfigurationFactory.getOAuthConfiguration(auth
.getServiceProvider());
}
public abstract String getScreenName() throws LibException;
public abstract String getUserId() throws LibException;
public void setAuthorization(Authorization auth) {
this.auth = auth;
}
public Authorization getAuthorization() {
return auth;
}
@Override
public String toString() {
return "SNS {" + "auth=" + auth + '}';
}
}