| /* |
| * Copyright (C) 2010, Google Inc. and others |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Distribution License v. 1.0 which is available at |
| * https://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| package org.eclipse.jgit.diff; |
| |
| /** |
| * Wraps a {@link org.eclipse.jgit.diff.Sequence} to assign hash codes to |
| * elements. |
| * <p> |
| * This sequence acts as a proxy for the real sequence, caching element hash |
| * codes so they don't need to be recomputed each time. Sequences of this type |
| * must be used with a {@link org.eclipse.jgit.diff.HashedSequenceComparator}. |
| * <p> |
| * To construct an instance of this type use |
| * {@link org.eclipse.jgit.diff.HashedSequencePair}. |
| * |
| * @param <S> |
| * the base sequence type. |
| */ |
| public final class HashedSequence<S extends Sequence> extends Sequence { |
| final S base; |
| |
| final int[] hashes; |
| |
| HashedSequence(S base, int[] hashes) { |
| this.base = base; |
| this.hashes = hashes; |
| } |
| |
| @Override |
| public int size() { |
| return base.size(); |
| } |
| } |