package com.flexmls.flexmls_api;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import org.codehaus.jackson.annotate.JsonProperty;
/**
* Essentially read only, strictly validated JSON entity for the API session.
*/
public class Session {
@JsonProperty("AuthToken")
private String token;
@JsonProperty("Roles")
private List<String> roles = new ArrayList<String>();
@JsonProperty("Expires")
private Date expiration;
public Session() { }
public Session(String token, List<String> roles, Date expiration) {
super();
this.token = token;
this.roles = Collections.unmodifiableList(roles);
this.expiration = expiration;
}
public String getToken() {
return token;
}
public List<String> getRoles() {
return roles;
}
public Date getExpiration() {
return expiration;
}
public boolean isExpired(){
return expiration.before(new Date());
}
}