termux-app

Форк
0
68 строк · 2.3 Кб
1
/*
2
 * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
 *
5
 * This code is free software; you can redistribute it and/or modify it
6
 * under the terms of the GNU General Public License version 2 only, as
7
 * published by the Free Software Foundation.  Oracle designates this
8
 * particular file as subject to the "Classpath" exception as provided
9
 * by Oracle in the LICENSE file that accompanied this code.
10
 *
11
 * This code is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14
 * version 2 for more details (a copy is included in the LICENSE file that
15
 * accompanied this code).
16
 *
17
 * You should have received a copy of the GNU General Public License version
18
 * 2 along with this work; if not, write to the Free Software Foundation,
19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
 *
21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
 * or visit www.oracle.com if you need additional information or have any
23
 * questions.
24
 */
25

26
package com.termux.shared.file.filesystem;
27

28
/**
29
 * Container for device/inode to uniquely identify file.
30
 * https://cs.android.com/android/platform/superproject/+/android-11.0.0_r3:libcore/ojluni/src/main/java/sun/nio/fs/UnixFileKey.java
31
 */
32

33
public class FileKey {
34
    private final long st_dev;
35
    private final long st_ino;
36

37
    FileKey(long st_dev, long st_ino) {
38
        this.st_dev = st_dev;
39
        this.st_ino = st_ino;
40
    }
41

42
    @Override
43
    public int hashCode() {
44
        return (int)(st_dev ^ (st_dev >>> 32)) +
45
            (int)(st_ino ^ (st_ino >>> 32));
46
    }
47

48
    @Override
49
    public boolean equals(Object obj) {
50
        if (obj == this)
51
            return true;
52
        if (!(obj instanceof FileKey))
53
            return false;
54
        FileKey other = (FileKey)obj;
55
        return (this.st_dev == other.st_dev) && (this.st_ino == other.st_ino);
56
    }
57

58
    @Override
59
    public String toString() {
60
        StringBuilder sb = new StringBuilder();
61
        sb.append("(dev=")
62
            .append(Long.toHexString(st_dev))
63
            .append(",ino=")
64
            .append(st_ino)
65
            .append(')');
66
        return sb.toString();
67
    }
68
}
69

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.