source: proiecte/HadoopJUnit/hadoop-0.20.1/src/core/org/apache/hadoop/io/file/tfile/RawComparable.java @ 120

Last change on this file since 120 was 120, checked in by (none), 14 years ago

Added the mail files for the Hadoop JUNit Project

  • Property svn:executable set to *
File size: 1.9 KB
Line 
1/**
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with this
4 * work for additional information regarding copyright ownership. The ASF
5 * licenses this file to you under the Apache License, Version 2.0 (the
6 * "License"); you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18package org.apache.hadoop.io.file.tfile;
19
20import java.util.Collections;
21import java.util.Comparator;
22
23import org.apache.hadoop.io.RawComparator;
24
25/**
26 * Interface for objects that can be compared through {@link RawComparator}.
27 * This is useful in places where we need a single object reference to specify a
28 * range of bytes in a byte array, such as {@link Comparable} or
29 * {@link Collections#binarySearch(java.util.List, Object, Comparator)}
30 *
31 * The actual comparison among RawComparable's requires an external
32 * RawComparator and it is applications' responsibility to ensure two
33 * RawComparable are supposed to be semantically comparable with the same
34 * RawComparator.
35 */
36public interface RawComparable {
37  /**
38   * Get the underlying byte array.
39   *
40   * @return The underlying byte array.
41   */
42  abstract byte[] buffer();
43
44  /**
45   * Get the offset of the first byte in the byte array.
46   *
47   * @return The offset of the first byte in the byte array.
48   */
49  abstract int offset();
50
51  /**
52   * Get the size of the byte range in the byte array.
53   *
54   * @return The size of the byte range in the byte array.
55   */
56  abstract int size();
57}
Note: See TracBrowser for help on using the repository browser.