package com.easemob.server.example.jersey.vo; import javax.ws.rs.client.Invocation; /** * Access Token * * @author Lynch 2014-09-15 * */ public class Token { private String accessToken; private Long expiredAt; public Token() { } public Token(String accessToken, Long expiredAt) { this.accessToken = accessToken; this.expiredAt = expiredAt; } public static void applyAuthentication(Invocation.Builder builder, Credential credential) { applyAuthentication(builder, credential.getToken()); } public static void applyAuthentication(Invocation.Builder builder, Token token) { builder.header("Authorization", "Bearer " + token.toString()); } public boolean isExpired() { return System.currentTimeMillis() > expiredAt; } @Override public String toString() { return accessToken; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((accessToken == null) ? 0 : accessToken.hashCode()); result = prime * result + ((expiredAt == null) ? 0 : expiredAt.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Token other = (Token) obj; if (accessToken == null) { if (other.accessToken != null) return false; } else if (!accessToken.equals(other.accessToken)) return false; if (expiredAt == null) { if (other.expiredAt != null) return false; } else if (!expiredAt.equals(other.expiredAt)) return false; return true; } }