package com.github.andlyticsproject.console.v2;
import com.github.andlyticsproject.model.DeveloperConsoleAccount;
import org.apache.http.cookie.Cookie;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SessionCredentials {
private String accountName;
private String xsrfToken;
// 20 digit developer account ID
private DeveloperConsoleAccount[] consoleAccounts;
// authentication session cookies, including AD
private List<Cookie> cookies = new ArrayList<Cookie>();
// XXX this doesn't really belong here...
// Or maybe the class should be just called Session?
private List<String> whitelistedFeatures = new ArrayList<String>();
private String preferredCurrency;
public SessionCredentials(String accountName, String xsrfToken,
DeveloperConsoleAccount[] consoleAccounts) {
this.accountName = accountName;
this.xsrfToken = xsrfToken;
this.consoleAccounts = consoleAccounts.clone();
}
public String getAccountName() {
return accountName;
}
public String getXsrfToken() {
return xsrfToken;
}
public DeveloperConsoleAccount[] getDeveloperConsoleAccounts() {
return consoleAccounts.clone();
}
public void addCookie(Cookie c) {
cookies.add(c);
}
public void addCookies(List<Cookie> c) {
cookies.addAll(c);
}
public List<Cookie> getCookies() {
return Collections.unmodifiableList(cookies);
}
public List<String> getWhitelistedFeatures() {
return Collections.unmodifiableList(whitelistedFeatures);
}
public void addWhitelistedFeatures(List<String> features) {
whitelistedFeatures.addAll(features);
}
public boolean hasFeature(String feature) {
return whitelistedFeatures.contains(feature);
}
public String getPreferredCurrency() {
return preferredCurrency;
}
public void setPreferredCurrency(String preferredCurrency) {
this.preferredCurrency = preferredCurrency;
}
}