package com.bumptech.glide.load.engine; import com.bumptech.glide.load.Key; import java.security.MessageDigest; /** * A cache key for original source data + any requested signature. */ final class DataCacheKey implements Key { private final Key sourceKey; private final Key signature; public DataCacheKey(Key sourceKey, Key signature) { this.sourceKey = sourceKey; this.signature = signature; } public Key getSourceKey() { return sourceKey; } @Override public boolean equals(Object o) { if (o instanceof DataCacheKey) { DataCacheKey other = (DataCacheKey) o; return sourceKey.equals(other.sourceKey) && signature.equals(other.signature); } return false; } @Override public int hashCode() { int result = sourceKey.hashCode(); result = 31 * result + signature.hashCode(); return result; } @Override public String toString() { return "DataCacheKey{" + "sourceKey=" + sourceKey + ", signature=" + signature + '}'; } @Override public void updateDiskCacheKey(MessageDigest messageDigest) { sourceKey.updateDiskCacheKey(messageDigest); signature.updateDiskCacheKey(messageDigest); } }