FileSystemRoot.avt

Переключить прокрутку окна
Загрузить этот исходный код

/*
    Реализация среды исполнения языка программирования
    Объектно-ориентированный продвинутый векторный транслятор

    Copyright © 2021, 2024, 2026 Малик Разработчик

    Это свободная программа: вы можете перераспространять ее и/или изменять
    ее на условиях Меньшей Стандартной общественной лицензии GNU в том виде,
    в каком она была опубликована Фондом свободного программного обеспечения;
    либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.

    Эта программа распространяется в надежде, что она будет полезной,
    но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
    или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Меньшей Стандартной
    общественной лицензии GNU.

    Вы должны были получить копию Меньшей Стандартной общественной лицензии GNU
    вместе с этой программой. Если это не так, см.
    <https://www.gnu.org/licenses/>.
*/

package platform.independent.osservices;

import avt.io.*;
import platform.dependent.*;
import platform.independent.filesystem.*;

public abstract class FileSystemRoot(Object)
{
    public static boolean isObjectPathCaseSensitive() { return PlatformServices.getInstance().isObjectPathCaseSensitive(); }

    public static boolean isInternalPathFull(String internalPath) { return internalPath != null && PlatformServices.getInstance().isInternalPathFull(internalPath); }

    public static FileSystemRoot[] enumerate() throws IOException { return PlatformServices.getInstance().enumerateRoots(); }

    public static FileSystemRoot get(String objectPath) throws FileSystemNotFoundException, IOException {
        if(objectPath == null)
        {
            throw new NullPointerException(String.format(avt.lang.package.getResourceString("null-pointer.argument"), new Object[] { "objectPath" }));
        }
        return PlatformServices.getInstance().getRoot(objectPath);
    }

    public static String getUserConfigDir() throws IOException { return PlatformServices.getInstance().getUserConfigDir(); }

    public static String getUserCacheDir() throws IOException { return PlatformServices.getInstance().getUserCacheDir(); }

    public static String getUserLocalDir() throws IOException { return PlatformServices.getInstance().getUserLocalDir(); }

    public static String toInternalPath(String objectPath) {
        if(objectPath == null)
        {
            throw new NullPointerException(String.format(avt.lang.package.getResourceString("null-pointer.argument"), new Object[] { "objectPath" }));
        }
        return PlatformServices.getInstance().toInternalPath(objectPath);
    }

    public static String toObjectPath(String internalPath) {
        if(internalPath == null)
        {
            throw new NullPointerException(String.format(avt.lang.package.getResourceString("null-pointer.argument"), new Object[] { "internalPath" }));
        }
        return PlatformServices.getInstance().toObjectPath(internalPath);
    }

    private final String fldPath;

    protected (String path) { fldPath = path; }

    public abstract FileSystem fileSystem { read }

    public abstract String name { read }

    public final String path { read = fldPath }
}