Example usage for org.apache.commons.vfs2 Capability CREATE

List of usage examples for org.apache.commons.vfs2 Capability CREATE

Introduction

In this page you can find the example usage for org.apache.commons.vfs2 Capability CREATE.

Prototype

Capability CREATE

To view the source code for org.apache.commons.vfs2 Capability CREATE.

Click Source Link

Document

Files can be created.

Usage

From source file:de.innovationgate.wgpublisher.design.fs.AbstractDesignFile.java

protected FileObject getOrCreateMetadataFile()
        throws InstantiationException, IllegalAccessException, IOException, WGDesignSyncException {

    FileObject metadataFile = getMetadataFile();

    if (!metadataFile.exists() && metadataFile.getFileSystem().hasCapability(Capability.CREATE)) {
        getOrCreateMetadataDir();/*  w  ww.  ja v a 2 s .c  o  m*/
        createMetadataFile(metadataFile);
    }

    return metadataFile;
}

From source file:de.innovationgate.wgpublisher.design.fs.AbstractDesignFile.java

private FileObject getOrCreateMetadataDir() throws FileSystemException, WGDesignSyncException {
    FileObject metadataDir = getMetadataDir();

    if (!metadataDir.exists() && metadataDir.getFileSystem().hasCapability(Capability.CREATE)) {
        metadataDir.createFolder();/*from w w w .  j ava 2s .c  o  m*/
    }

    return metadataDir;
}

From source file:de.innovationgate.wgpublisher.design.fs.FileSystemDesignManager.java

public boolean isEditable() throws WGDesignSyncException {
    return getBaseFolder().getFileSystem().hasCapability(Capability.CREATE);
}

From source file:de.innovationgate.utils.WGUtils.java

/**
 * Returns a VFS file object for a folder. If the  folder does not exist it is created.
 * @param parent The parent folder of the retrieved folder
 * @param name The name of the folder to retrieve
 * @return The folder/*ww w  .  ja v  a 2  s. c om*/
 * @throws IOException
 */
public static FileObject getOrCreateFolder(FileObject parent, String name) throws IOException {
    if (!parent.getType().equals(FileType.FOLDER)) {
        throw new IllegalArgumentException("Parent file is no folder: " + parent.getName().getPathDecoded());
    }

    FileObject folder = parent.resolveFile(name);
    if (!folder.exists()) {
        if (!folder.getFileSystem().hasCapability(Capability.CREATE)) {
            throw new IOException("File system of file " + folder.getURL().toString() + " is read only");
        }
        folder.createFolder();
    }
    if (!folder.getType().equals(FileType.FOLDER)) {
        throw new IllegalArgumentException("There is already a file of this name: " + name);
    }
    return folder;
}

From source file:org.fuin.vfs2.filter.CanWriteFileFilter.java

/**
 * Checks to see if the file can be written to.
 * // w  w w. j a v a 2 s.co m
 * @param fileInfo
 *            the File to check
 * 
 * @return {@code true} if the file can be written to, otherwise
 *         {@code false}.
 */
@Override
public boolean accept(final FileSelectInfo fileInfo) {
    try {
        final FileSystem fileSystem = fileInfo.getFile().getFileSystem();
        if (fileInfo.getFile().exists()) {
            if (!fileSystem.hasCapability(Capability.WRITE_CONTENT)) {
                return false;
            }
            return fileInfo.getFile().isWriteable();
        } else {
            if (!fileSystem.hasCapability(Capability.CREATE)) {
                return false;
            }
            return fileInfo.getFile().getParent().isWriteable();
        }
    } catch (final FileSystemException ex) {
        throw new RuntimeException(ex);
    }
}