All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.peircean.glusterfs.GlusterFileStore Maven / Gradle / Ivy

The newest version!
package com.peircean.glusterfs;

import lombok.AccessLevel;
import lombok.Data;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;

import java.io.IOException;
import java.nio.file.FileStore;
import java.nio.file.attribute.FileAttributeView;
import java.nio.file.attribute.FileStoreAttributeView;

/**
 * @author Louis Zuckerman
 */
@Data
@RequiredArgsConstructor(access = AccessLevel.PACKAGE)
public class GlusterFileStore extends FileStore {
    public static final String GLUSTERFS = "glusterfs";
    @NonNull
    private GlusterFileSystem fileSystem;

    @Override
    public String name() {
        return fileSystem.getVolname();
    }

    @Override
    public String type() {
        return GLUSTERFS;
    }

    @Override
    public boolean isReadOnly() {
        return false;
    }

    @Override
    public long getTotalSpace() throws IOException {
        GlusterFileSystemProvider provider = (GlusterFileSystemProvider) fileSystem.provider();
        return provider.getTotalSpace(fileSystem.getVolptr());
    }

    @Override
    public long getUsableSpace() throws IOException {
        GlusterFileSystemProvider provider = (GlusterFileSystemProvider) fileSystem.provider();
        return provider.getUsableSpace(fileSystem.getVolptr());
    }

    @Override
    public long getUnallocatedSpace() throws IOException {
        GlusterFileSystemProvider provider = (GlusterFileSystemProvider) fileSystem.provider();
        return provider.getUnallocatedSpace(fileSystem.getVolptr());
    }

    @Override
    public boolean supportsFileAttributeView(Class aClass) {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean supportsFileAttributeView(String s) {
        throw new UnsupportedOperationException();
    }

    @Override
    public  V getFileStoreAttributeView(Class vClass) {
        throw new UnsupportedOperationException();
    }

    @Override
    public Object getAttribute(String s) throws IOException {
        throw new UnsupportedOperationException();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy