!interfaces.avt

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

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

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

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

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

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

package platform.independent.filesystem;

import avt.io.*;

public interface RequiredAttributes(Object)
{
    public static final String B_DIRECTORY        =      "bDirectory";
    public static final String B_READ_ONLY        =       "bReadOnly";
    public static final String L_LAST_ACCESS_TIME = "lLastAccessTime";
    public static final String L_LAST_WRITE_TIME  =  "lLastWriteTime";
}

public interface Attributes(Object, RequiredAttributes)
{
    public void setBooleanAttribute(String attributeId, boolean attributeValue);

    public void setLongAttribute(String attributeId, long attributeValue);

    public void setStringAttribute(String attributeId, String attributeValue);

    public boolean isSupportedAttributeId(String attributeId);

    public boolean getBooleanAttribute(String attributeId);

    public long getLongAttribute(String attributeId);

    public String getStringAttribute(String attributeId);

    public String displayName(String attributeId);

    public String[] getSupportedAttributeIds();
}

public interface FileSystem(Object)
{
    public static final char DIRECTORY_SEPARATOR = '/';

    public void readAttributes(String objectName, ObjectAttributes objectAttr) throws ObjectNotFoundException, IOException;

    public void writeAttributes(String objectName, ObjectAttributes objectAttr) throws ReadOnlyFileSystemException, ObjectNotFoundException, ObjectWriteAttributesException, IOException;

    public void move(String objectOldName, String objectNewName) throws ReadOnlyFileSystemException, ObjectNotFoundException, MoveOperationException, IOException;

    public void deleteFile(String fileName) throws ReadOnlyFileSystemException, FileNotFoundException, FileDeletionException, IOException;

    public void deleteDirectory(String directoryName) throws ReadOnlyFileSystemException, DirectoryNotFoundException, DirectoryDeletionException, IOException;

    public void createDirectory(String directoryName) throws ReadOnlyFileSystemException, DirectoryCreationException, IOException;

    public boolean isObjectExists(String objectName) throws IOException;

    public boolean isObjectNameCaseSensitive() throws DirectoryNotFoundException, IOException;

    public boolean isObjectNameCaseSensitive(String objectPath) throws DirectoryNotFoundException, IOException;

    public boolean isReadOnly() throws DirectoryNotFoundException, IOException;

    public boolean isReadOnly(String objectPath) throws DirectoryNotFoundException, IOException;

    public boolean isInternalNameFull(String internalName);

    public boolean isInternalNameValid(String internalName);

    public boolean isObjectNameValid(String objectName);

    public int getObjectNameMaximumLength();

    public String toInternalName(String objectName);

    public String toObjectName(String internalName);

    public ObjectEnumeration findFirst() throws ObjectNotFoundException, IOException;

    public ObjectEnumeration findFirst(String objectPath) throws ObjectNotFoundException, IOException;

    public ByteWriter createFile(String fileName) throws ReadOnlyFileSystemException, FileCreationException, IOException;

    public ByteWriter rewriteFile(String fileName) throws ReadOnlyFileSystemException, FileCreationException, IOException;

    public ByteWriter openFileForAppend(String fileName) throws ReadOnlyFileSystemException, FileNotFoundException, FileOpeningException, IOException;

    public ByteReader openFileForRead(String fileName) throws FileNotFoundException, FileOpeningException, IOException;

    public ByteStream openFile(String fileName) throws ReadOnlyFileSystemException, FileNotFoundException, FileOpeningException, IOException;

    public Attributes newAttributes();
}