11d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert/*
21d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * Copyright (C) 2011 The Guava Authors
31d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert *
41d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
51d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * in compliance with the License. You may obtain a copy of the License at
61d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert *
71d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0
81d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert *
91d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * Unless required by applicable law or agreed to in writing, software distributed under the License
101d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
111d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * or implied. See the License for the specific language governing permissions and limitations under
121d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert * the License.
131d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert */
141d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert
151d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringertpackage com.google.common.hash;
161d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert
177dd252788645e940eada959bdde927426e2531c9Paul Duffinimport com.google.common.annotations.Beta;
187dd252788645e940eada959bdde927426e2531c9Paul Duffin
197dd252788645e940eada959bdde927426e2531c9Paul Duffinimport java.io.Serializable;
207dd252788645e940eada959bdde927426e2531c9Paul Duffin
211d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert/**
227dd252788645e940eada959bdde927426e2531c9Paul Duffin * Static factories for creating {@link HashCode} instances; most users should never have to use
237dd252788645e940eada959bdde927426e2531c9Paul Duffin * this. All returned instances are {@link Serializable}.
247dd252788645e940eada959bdde927426e2531c9Paul Duffin *
257dd252788645e940eada959bdde927426e2531c9Paul Duffin * @author Dimitris Andreou
267dd252788645e940eada959bdde927426e2531c9Paul Duffin * @since 12.0
270888a09821a98ac0680fad765217302858e70fa4Paul Duffin * @deprecated Use the duplicated methods in {@link HashCode} instead. This class is scheduled
280888a09821a98ac0680fad765217302858e70fa4Paul Duffin *     to be removed in Guava 16.0.
291d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert */
307dd252788645e940eada959bdde927426e2531c9Paul Duffin@Beta
310888a09821a98ac0680fad765217302858e70fa4Paul Duffin@Deprecated
327dd252788645e940eada959bdde927426e2531c9Paul Duffinpublic final class HashCodes {
337dd252788645e940eada959bdde927426e2531c9Paul Duffin  private HashCodes() {}
347dd252788645e940eada959bdde927426e2531c9Paul Duffin
351d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert  /**
360888a09821a98ac0680fad765217302858e70fa4Paul Duffin   * Creates a 32-bit {@code HashCode}, of which the bytes will form the passed int, interpreted
371d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert   * in little endian order.
380888a09821a98ac0680fad765217302858e70fa4Paul Duffin   *
390888a09821a98ac0680fad765217302858e70fa4Paul Duffin   * @deprecated Use {@link HashCode#fromInt} instead. This method is scheduled to be removed in
400888a09821a98ac0680fad765217302858e70fa4Paul Duffin   *     Guava 16.0.
411d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert   */
420888a09821a98ac0680fad765217302858e70fa4Paul Duffin  @Deprecated
437dd252788645e940eada959bdde927426e2531c9Paul Duffin  public static HashCode fromInt(int hash) {
440888a09821a98ac0680fad765217302858e70fa4Paul Duffin    return HashCode.fromInt(hash);
451d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert  }
467dd252788645e940eada959bdde927426e2531c9Paul Duffin
471d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert  /**
480888a09821a98ac0680fad765217302858e70fa4Paul Duffin   * Creates a 64-bit {@code HashCode}, of which the bytes will form the passed long, interpreted
491d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert   * in little endian order.
500888a09821a98ac0680fad765217302858e70fa4Paul Duffin   *
510888a09821a98ac0680fad765217302858e70fa4Paul Duffin   * @deprecated Use {@link HashCode#fromLong} instead. This method is scheduled to be removed in
520888a09821a98ac0680fad765217302858e70fa4Paul Duffin   *     Guava 16.0.
531d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert   */
540888a09821a98ac0680fad765217302858e70fa4Paul Duffin  @Deprecated
557dd252788645e940eada959bdde927426e2531c9Paul Duffin  public static HashCode fromLong(long hash) {
560888a09821a98ac0680fad765217302858e70fa4Paul Duffin    return HashCode.fromLong(hash);
577dd252788645e940eada959bdde927426e2531c9Paul Duffin  }
587dd252788645e940eada959bdde927426e2531c9Paul Duffin
597dd252788645e940eada959bdde927426e2531c9Paul Duffin  /**
607dd252788645e940eada959bdde927426e2531c9Paul Duffin   * Creates a {@code HashCode} from a byte array. The array is defensively copied to preserve
617dd252788645e940eada959bdde927426e2531c9Paul Duffin   * the immutability contract of {@code HashCode}. The array cannot be empty.
620888a09821a98ac0680fad765217302858e70fa4Paul Duffin   *
630888a09821a98ac0680fad765217302858e70fa4Paul Duffin   * @deprecated Use {@link HashCode#fromBytes} instead. This method is scheduled to be removed in
640888a09821a98ac0680fad765217302858e70fa4Paul Duffin   *     Guava 16.0.
657dd252788645e940eada959bdde927426e2531c9Paul Duffin   */
660888a09821a98ac0680fad765217302858e70fa4Paul Duffin  @Deprecated
677dd252788645e940eada959bdde927426e2531c9Paul Duffin  public static HashCode fromBytes(byte[] bytes) {
680888a09821a98ac0680fad765217302858e70fa4Paul Duffin    return HashCode.fromBytes(bytes);
691d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert  }
701d580d0f6ee4f21eb309ba7b509d2c6d671c4044Bjorn Bringert}
71