19fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddpackage com.bumptech.glide.load; 29fc12334a7d14347cd6951d0653264b2597bd3a0Sam Judd 3a5e9584f75c9beef66dbc639ec1a8318a1149341Sam Juddimport java.io.UnsupportedEncodingException; 4a5e9584f75c9beef66dbc639ec1a8318a1149341Sam Juddimport java.security.MessageDigest; 5a5e9584f75c9beef66dbc639ec1a8318a1149341Sam Judd 6a5e9584f75c9beef66dbc639ec1a8318a1149341Sam Judd/** 77d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd * An interface that uniquely identifies some set of data. Implementations must implement {@link Object#equals(Object)} 87d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd * and {@link Object#hashCode()}. Implementations are generally expected to add all uniquely identifying information 97d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd * used in in {@link java.lang.Object#equals(Object)}} and {@link Object#hashCode()}} to the given 107d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd * {@link java.security.MessageDigest} in {@link #updateDiskCacheKey(java.security.MessageDigest)}}, although this 117d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd * requirement is not as strict for partial cache key signatures. 12a5e9584f75c9beef66dbc639ec1a8318a1149341Sam Judd */ 139fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddpublic interface Key { 147d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd String STRING_CHARSET_NAME = "UTF-8"; 157d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd 16a5e9584f75c9beef66dbc639ec1a8318a1149341Sam Judd /** 17a5e9584f75c9beef66dbc639ec1a8318a1149341Sam Judd * Adds all uniquely identifying information to the given digest. 187d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd * 197d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd * <p> 207d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd * Note - Using {@link java.security.MessageDigest#reset()} inside of this method will result in undefined 217d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd * behavior. 227d7d03dceae92dc32a9b84dee665a34c300017a7Sam Judd * </p> 23a5e9584f75c9beef66dbc639ec1a8318a1149341Sam Judd */ 24aa857fbd6c71f37b4e2a3ba590e61965a37218b5Robert Papp void updateDiskCacheKey(MessageDigest messageDigest) throws UnsupportedEncodingException; 25aa857fbd6c71f37b4e2a3ba590e61965a37218b5Robert Papp 2660b06578a99c3b29998be855e5e636e6e624850bSam Judd @Override 27aa857fbd6c71f37b4e2a3ba590e61965a37218b5Robert Papp boolean equals(Object o); 28a5e9584f75c9beef66dbc639ec1a8318a1149341Sam Judd 2960b06578a99c3b29998be855e5e636e6e624850bSam Judd @Override 30aa857fbd6c71f37b4e2a3ba590e61965a37218b5Robert Papp int hashCode(); 319fc12334a7d14347cd6951d0653264b2597bd3a0Sam Judd} 32