NonNoteEntry.java
- /*
- * 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.notes;
- import org.eclipse.jgit.lib.AnyObjectId;
- import org.eclipse.jgit.lib.FileMode;
- import org.eclipse.jgit.lib.ObjectId;
- import org.eclipse.jgit.lib.TreeFormatter;
- import org.eclipse.jgit.util.Paths;
- /** A tree entry found in a note branch that isn't a valid note. */
- class NonNoteEntry extends ObjectId {
- /** Name of the entry in the tree, in raw format. */
- private final byte[] name;
- /** Mode of the entry as parsed from the tree. */
- private final FileMode mode;
- /** The next non-note entry in the same tree, as defined by tree order. */
- NonNoteEntry next;
- NonNoteEntry(byte[] name, FileMode mode, AnyObjectId id) {
- super(id);
- this.name = name;
- this.mode = mode;
- }
- void format(TreeFormatter fmt) {
- fmt.append(name, mode, this);
- }
- int treeEntrySize() {
- return TreeFormatter.entrySize(mode, name.length);
- }
- int pathCompare(byte[] bBuf, int bPos, int bLen, FileMode bMode) {
- return Paths.compare(
- name, 0, name.length, mode.getBits(),
- bBuf, bPos, bLen, bMode.getBits());
- }
- }