package com.mediafire.sdk;
public class MFSessionToken extends MFToken implements MediaFireSessionToken {
private final String time;
private long secretKey;
private final String pkey;
private final String ekey;
public MFSessionToken(String sessionToken, String time, long secretKey, String pkey, String ekey) {
super(sessionToken);
this.time = time;
this.secretKey = secretKey;
this.pkey = pkey;
this.ekey = ekey;
}
@Override
public String getTime() {
return time;
}
@Override
public long getSecretKey() {
return secretKey;
}
@Override
public String getPkey() {
return pkey;
}
@Override
public String getEkey() {
return ekey;
}
@Override
public void update() {
long newKey = secretKey * 16807L;
newKey %= 2147483647L;
this.secretKey = newKey;
}
@Override
public String toString() {
return "MFSessionToken{" +
"time='" + time + '\'' +
", secretKey=" + secretKey +
", pkey='" + pkey + '\'' +
", ekey='" + ekey + '\'' +
"} " + super.toString();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
MFSessionToken that = (MFSessionToken) o;
if (getSecretKey() != that.getSecretKey()) return false;
if (!getTime().equals(that.getTime())) return false;
if (!getPkey().equals(that.getPkey())) return false;
return getEkey().equals(that.getEkey());
}
@Override
public int hashCode() {
int result = super.hashCode();
result = 31 * result + getTime().hashCode();
result = 31 * result + (int) (getSecretKey() ^ (getSecretKey() >>> 32));
result = 31 * result + getPkey().hashCode();
result = 31 * result + getEkey().hashCode();
return result;
}
}