/** * CloudGraph Community Edition (CE) License * * This is a community release of CloudGraph, a dual-license suite of * Service Data Object (SDO) 2.1 services designed for relational and * big-table style "cloud" databases, such as HBase and others. * This particular copy of the software is released under the * version 2 of the GNU General Public License. CloudGraph was developed by * TerraMeta Software, Inc. * * Copyright (c) 2013, TerraMeta Software, Inc. All rights reserved. * * General License information can be found below. * * This distribution may include materials developed by third * parties. For license and attribution notices for these * materials, please refer to the documentation that accompanies * this distribution (see the "Licenses for Third-Party Components" * appendix) or view the online documentation at * <http://cloudgraph.org/licenses/>. */ package org.cloudgraph.common; /** * @author Scott Cinnamond * @since 0.5 */ public interface Hash { /** * Calculate a hash using all bytes from the input argument, and a seed of -1. Uses * the hash algorithm defined for this specific HBase table or if no * defined, uses the hash algorithm set for the HBase configuration. * @param bytes * @return the hash value */ public int hash(byte[] bytes); /** * Calculate a hash using all bytes from the input argument, and a provided * seed value. Uses the hash algorithm defined for this specific HBase table or if no * defined, uses the hash algorithm set for the HBase configuration. * @param bytes * @param initval * @return the hash value */ public int hash(byte[] bytes, int initval); /** * Calculate a hash using bytes from 0 to length, and the * provided seed value. Uses * the hash algorithm defined for this specific HBase table or if no * defined, uses the hash algorithm set for the HBase configuration. * @param bytes * @param length * @param initval * @return the hash value */ public int hash(byte[] bytes, int length, int initval); }