1package com.bumptech.glide.signature; 2 3import com.bumptech.glide.load.Key; 4 5import java.io.UnsupportedEncodingException; 6import java.security.MessageDigest; 7 8/** 9 * A unique Signature that wraps a String. 10 */ 11public class StringSignature implements Key { 12 private final String signature; 13 14 public StringSignature(String signature) { 15 if (signature == null) { 16 throw new NullPointerException("Signature cannot be null!"); 17 } 18 this.signature = signature; 19 } 20 21 @Override 22 public boolean equals(Object o) { 23 if (this == o) { 24 return true; 25 } 26 if (o == null || getClass() != o.getClass()) { 27 return false; 28 } 29 30 StringSignature that = (StringSignature) o; 31 32 return signature.equals(that.signature); 33 } 34 35 @Override 36 public int hashCode() { 37 return signature.hashCode(); 38 } 39 40 @Override 41 public void updateDiskCacheKey(MessageDigest messageDigest) throws UnsupportedEncodingException { 42 messageDigest.update(signature.getBytes(STRING_CHARSET_NAME)); 43 } 44} 45