Author: ggregory Date: Tue Jul 14 01:05:30 2009 New Revision: 793772 URL: http://svn.apache.org/viewvc?rev=793772&view=rev Log: Added @since 1.4 tags.
Modified: commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Hex.java commons/proper/codec/trunk/src/java/org/apache/commons/codec/digest/DigestUtils.java commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/Caverphone.java commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/RefinedSoundex.java commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/Soundex.java Modified: commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Hex.java URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Hex.java?rev=793772&r1=793771&r2=793772&view=diff ============================================================================== --- commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Hex.java (original) +++ commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Hex.java Tue Jul 14 01:05:30 2009 @@ -121,6 +121,7 @@ * @param toLowerCase * <code>true</code> converts to lowercase, <code>false</code> to uppercase * @return A char[] containing hexadecimal characters + * @since 1.4 */ public static char[] encodeHex(byte[] data, boolean toLowerCase) { return encodeHex(data, toLowerCase ? DIGITS_LOWER : DIGITS_UPPER); @@ -136,19 +137,16 @@ * @param toDigits * the output alphabet * @return A char[] containing hexadecimal characters + * @since 1.4 */ protected static char[] encodeHex(byte[] data, char[] toDigits) { - int l = data.length; - char[] out = new char[l << 1]; - // two characters form the hex value. for (int i = 0, j = 0; i < l; i++) { out[j++] = toDigits[(0xF0 & data[i]) >>> 4]; out[j++] = toDigits[0x0F & data[i]]; } - return out; } Modified: commons/proper/codec/trunk/src/java/org/apache/commons/codec/digest/DigestUtils.java URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/java/org/apache/commons/codec/digest/DigestUtils.java?rev=793772&r1=793771&r2=793772&view=diff ============================================================================== --- commons/proper/codec/trunk/src/java/org/apache/commons/codec/digest/DigestUtils.java (original) +++ commons/proper/codec/trunk/src/java/org/apache/commons/codec/digest/DigestUtils.java Tue Jul 14 01:05:30 2009 @@ -35,6 +35,26 @@ private static final int STREAM_BUFFER_LENGTH = 1024; /** + * Read through an InputStream and returns the digest for the data + * + * @param digest The MessageDigest to use (e.g. MD5) + * @param data Data to digest + * @return MD5 digest + * @throws IOException On error reading from the stream + */ + private static byte[] digest(MessageDigest digest, InputStream data) throws IOException { + byte[] buffer = new byte[STREAM_BUFFER_LENGTH]; + int read = data.read(buffer, 0, STREAM_BUFFER_LENGTH); + + while(read > -1) { + digest.update(buffer, 0, read); + read = data.read(buffer, 0, STREAM_BUFFER_LENGTH); + } + + return digest.digest(); + } + + /** * Returns a <code>MessageDigest</code> for the given <code>algorithm</code>. * * @param algorithm @@ -118,26 +138,6 @@ private static MessageDigest getShaDigest() { return getDigest("SHA"); } - - /** - * Read through an InputStream and returns the digest for the data - * - * @param digest The MessageDigest to use (e.g. MD5) - * @param data Data to digest - * @return MD5 digest - * @throws IOException On error reading from the stream - */ - private static byte[] digest(MessageDigest digest, InputStream data) throws IOException { - byte[] buffer = new byte[STREAM_BUFFER_LENGTH]; - int read = data.read(buffer, 0, STREAM_BUFFER_LENGTH); - - while(read > -1) { - digest.update(buffer, 0, read); - read = data.read(buffer, 0, STREAM_BUFFER_LENGTH); - } - - return digest.digest(); - } /** * Calculates the MD5 digest and returns the value as a 16 element <code>byte[]</code>. @@ -157,6 +157,7 @@ * Data to digest * @return MD5 digest * @throws IOException On error reading from the stream + * @since 1.4 */ public static byte[] md5(InputStream data) throws IOException { return digest(getMd5Digest(), data); @@ -190,8 +191,10 @@ * @param data * Data to digest * @return MD5 digest as a hex string + * @throws IOException On error reading from the stream + * @since 1.4 */ - public static String md5Hex(String data) { + public static String md5Hex(InputStream data) throws IOException { return new String(Hex.encodeHex(md5(data))); } @@ -201,9 +204,8 @@ * @param data * Data to digest * @return MD5 digest as a hex string - * @throws IOException On error reading from the stream */ - public static String md5Hex(InputStream data) throws IOException { + public static String md5Hex(String data) { return new String(Hex.encodeHex(md5(data))); } @@ -224,9 +226,10 @@ * @param data * Data to digest * @return SHA-1 digest + * @throws IOException On error reading from the stream */ - public static byte[] sha(String data) { - return sha(data.getBytes()); + public static byte[] sha(InputStream data) throws IOException { + return digest(getShaDigest(), data); } /** @@ -235,10 +238,9 @@ * @param data * Data to digest * @return SHA-1 digest - * @throws IOException On error reading from the stream */ - public static byte[] sha(InputStream data) throws IOException { - return digest(getShaDigest(), data); + public static byte[] sha(String data) { + return sha(data.getBytes()); } /** @@ -250,6 +252,7 @@ * @param data * Data to digest * @return SHA-256 digest + * @since 1.4 */ public static byte[] sha256(byte[] data) { return getSha256Digest().digest(data); @@ -264,9 +267,11 @@ * @param data * Data to digest * @return SHA-256 digest + * @throws IOException On error reading from the stream + * @since 1.4 */ - public static byte[] sha256(String data) { - return sha256(data.getBytes()); + public static byte[] sha256(InputStream data) throws IOException { + return digest(getSha256Digest(), data); } /** @@ -278,10 +283,10 @@ * @param data * Data to digest * @return SHA-256 digest - * @throws IOException On error reading from the stream + * @since 1.4 */ - public static byte[] sha256(InputStream data) throws IOException { - return digest(getSha256Digest(), data); + public static byte[] sha256(String data) { + return sha256(data.getBytes()); } /** @@ -293,6 +298,7 @@ * @param data * Data to digest * @return SHA-256 digest as a hex string + * @since 1.4 */ public static String sha256Hex(byte[] data) { return new String(Hex.encodeHex(sha256(data))); @@ -307,8 +313,10 @@ * @param data * Data to digest * @return SHA-256 digest as a hex string + * @throws IOException On error reading from the stream + * @since 1.4 */ - public static String sha256Hex(String data) { + public static String sha256Hex(InputStream data) throws IOException { return new String(Hex.encodeHex(sha256(data))); } @@ -321,9 +329,9 @@ * @param data * Data to digest * @return SHA-256 digest as a hex string - * @throws IOException On error reading from the stream + * @since 1.4 */ - public static String sha256Hex(InputStream data) throws IOException { + public static String sha256Hex(String data) { return new String(Hex.encodeHex(sha256(data))); } @@ -336,9 +344,9 @@ * @param data * Data to digest * @return SHA-384 digest + * @since 1.4 */ public static byte[] sha384(byte[] data) { - // FIXME: check Sun docs for how to get a sha 384 digest return getSha384Digest().digest(data); } @@ -351,9 +359,11 @@ * @param data * Data to digest * @return SHA-384 digest + * @throws IOException On error reading from the stream + * @since 1.4 */ - public static byte[] sha384(String data) { - return sha384(data.getBytes()); + public static byte[] sha384(InputStream data) throws IOException { + return digest(getSha384Digest(), data); } /** @@ -365,10 +375,10 @@ * @param data * Data to digest * @return SHA-384 digest - * @throws IOException On error reading from the stream + * @since 1.4 */ - public static byte[] sha384(InputStream data) throws IOException { - return digest(getSha384Digest(), data); + public static byte[] sha384(String data) { + return sha384(data.getBytes()); } /** @@ -380,6 +390,7 @@ * @param data * Data to digest * @return SHA-384 digest as a hex string + * @since 1.4 */ public static String sha384Hex(byte[] data) { return new String(Hex.encodeHex(sha384(data))); @@ -394,8 +405,10 @@ * @param data * Data to digest * @return SHA-384 digest as a hex string + * @throws IOException On error reading from the stream + * @since 1.4 */ - public static String sha384Hex(String data) { + public static String sha384Hex(InputStream data) throws IOException { return new String(Hex.encodeHex(sha384(data))); } @@ -408,9 +421,9 @@ * @param data * Data to digest * @return SHA-384 digest as a hex string - * @throws IOException On error reading from the stream + * @since 1.4 */ - public static String sha384Hex(InputStream data) throws IOException { + public static String sha384Hex(String data) { return new String(Hex.encodeHex(sha384(data))); } @@ -423,6 +436,7 @@ * @param data * Data to digest * @return SHA-512 digest + * @since 1.4 */ public static byte[] sha512(byte[] data) { return getSha512Digest().digest(data); @@ -437,9 +451,11 @@ * @param data * Data to digest * @return SHA-512 digest + * @throws IOException On error reading from the stream + * @since 1.4 */ - public static byte[] sha512(String data) { - return sha512(data.getBytes()); + public static byte[] sha512(InputStream data) throws IOException { + return digest(getSha512Digest(), data); } /** @@ -451,10 +467,10 @@ * @param data * Data to digest * @return SHA-512 digest - * @throws IOException On error reading from the stream + * @since 1.4 */ - public static byte[] sha512(InputStream data) throws IOException { - return digest(getSha512Digest(), data); + public static byte[] sha512(String data) { + return sha512(data.getBytes()); } /** @@ -466,6 +482,7 @@ * @param data * Data to digest * @return SHA-512 digest as a hex string + * @since 1.4 */ public static String sha512Hex(byte[] data) { return new String(Hex.encodeHex(sha512(data))); @@ -480,8 +497,10 @@ * @param data * Data to digest * @return SHA-512 digest as a hex string + * @throws IOException On error reading from the stream + * @since 1.4 */ - public static String sha512Hex(String data) { + public static String sha512Hex(InputStream data) throws IOException { return new String(Hex.encodeHex(sha512(data))); } @@ -494,9 +513,9 @@ * @param data * Data to digest * @return SHA-512 digest as a hex string - * @throws IOException On error reading from the stream + * @since 1.4 */ - public static String sha512Hex(InputStream data) throws IOException { + public static String sha512Hex(String data) { return new String(Hex.encodeHex(sha512(data))); } @@ -517,8 +536,9 @@ * @param data * Data to digest * @return SHA-1 digest as a hex string + * @throws IOException On error reading from the stream */ - public static String shaHex(String data) { + public static String shaHex(InputStream data) throws IOException { return new String(Hex.encodeHex(sha(data))); } @@ -528,9 +548,8 @@ * @param data * Data to digest * @return SHA-1 digest as a hex string - * @throws IOException On error reading from the stream */ - public static String shaHex(InputStream data) throws IOException { + public static String shaHex(String data) { return new String(Hex.encodeHex(sha(data))); } } Modified: commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/Caverphone.java URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/Caverphone.java?rev=793772&r1=793771&r2=793772&view=diff ============================================================================== --- commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/Caverphone.java (original) +++ commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/Caverphone.java Tue Jul 14 01:05:30 2009 @@ -21,16 +21,16 @@ import org.apache.commons.codec.StringEncoder; /** - * Encodes a string into a caverphone value. - * - * This is an algorithm created the Caversham Project at the University of Otago. - * It implements the Caverphone 2.0 algorithm: - * - * + * Encodes a string into a Caverphone value. + * + * This is an algorithm created the Caversham Project at the University of Otago. It implements the Caverphone 2.0 + * algorithm: + * * @author Apache Software Foundation * @version $Id$ * @see <a href="http://en.wikipedia.org/wiki/Caverphone">Wikipedia - Caverphone</a> * @see <a href="http://caversham.otago.ac.nz/files/working/ctp150804.pdf">Caverphone 2.0 specification</a> + * @since 1.4 */ public class Caverphone implements StringEncoder { Modified: commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/RefinedSoundex.java URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/RefinedSoundex.java?rev=793772&r1=793771&r2=793772&view=diff ============================================================================== --- commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/RefinedSoundex.java (original) +++ commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/RefinedSoundex.java Tue Jul 14 01:05:30 2009 @@ -30,6 +30,9 @@ */ public class RefinedSoundex implements StringEncoder { + /** + * @since 1.4 + */ public static final String US_ENGLISH_MAPPING_STRING = "01360240043788015936020505"; /** @@ -75,13 +78,12 @@ } /** - * Creates a refined soundex instance using a custom mapping. This - * constructor can be used to customize the mapping, and/or possibly - * provide an internationalized mapping for a non-Western character set. + * Creates a refined Soundex instance using a custom mapping. This constructor can be used to customize the mapping, + * and/or possibly provide an internationalized mapping for a non-Western character set. * * @param mapping - * Mapping string to use when finding the corresponding code for - * a given character + * Mapping string to use when finding the corresponding code for a given character + * @since 1.4 */ public RefinedSoundex(String mapping) { this.soundexMapping = mapping.toCharArray(); Modified: commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/Soundex.java URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/Soundex.java?rev=793772&r1=793771&r2=793772&view=diff ============================================================================== --- commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/Soundex.java (original) +++ commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/Soundex.java Tue Jul 14 01:05:30 2009 @@ -119,13 +119,12 @@ } /** - * Creates a refined soundex instance using a custom mapping. This - * constructor can be used to customize the mapping, and/or possibly - * provide an internationalized mapping for a non-Western character set. + * Creates a refined soundex instance using a custom mapping. This constructor can be used to customize the mapping, + * and/or possibly provide an internationalized mapping for a non-Western character set. * * @param mapping - * Mapping string to use when finding the corresponding code for - * a given character + * Mapping string to use when finding the corresponding code for a given character + * @since 1.4 */ public Soundex(String mapping) { this.soundexMapping = mapping.toCharArray();