summaryrefslogtreecommitdiffstats
path: root/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/FileAttributes.java
blob: 6d4d2f1fad5a86d01fd9ea740d5ec30537cb0d62 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

package com.yahoo.vespa.hosted.node.admin.task.util.file;

import java.nio.file.attribute.PosixFileAttributes;
import java.nio.file.attribute.PosixFilePermissions;
import java.time.Instant;

/**
 * This wrapper around PosixFileAttributes.
 * 
 * @author hakonhall
 */
public class FileAttributes {
    private final PosixFileAttributes attributes;

    FileAttributes(PosixFileAttributes attributes) {
        this.attributes = attributes;
    }

    public Instant lastModifiedTime() { return attributes.lastModifiedTime().toInstant(); }
    public String owner() { return attributes.owner().getName(); }
    public String group() { return attributes.group().getName(); }
    public String permissions() { return PosixFilePermissions.toString(attributes.permissions()); }
    public boolean isRegularFile() { return attributes.isRegularFile(); }
    public boolean isDirectory() { return attributes.isDirectory(); }
    public long size() { return attributes.size(); }
}