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

org.apache.commons.vfs2.Capability Maven / Gradle / Ivy

There is a newer version: 2.9.0
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.commons.vfs2;

/**
 * An enumerated type representing the capabilities of files and file systems.
 */
public enum Capability {

    /**
     * File content can be read.
     */
    READ_CONTENT,

    /**
     * File content can be written.
     */
    WRITE_CONTENT,

    /**
     * File content can be read in random mode.
     */
    RANDOM_ACCESS_READ,

    /**
     * File content length can be set in random mode.
     */
    RANDOM_ACCESS_SET_LENGTH,

    /**
     * File content can be written in random mode.
     */
    RANDOM_ACCESS_WRITE,

    /**
     * File content can be appended.
     */
    APPEND_CONTENT,

    /**
     * File attributes are supported.
     */
    ATTRIBUTES,

    /**
     * File last-modified time is supported.
     */
    LAST_MODIFIED,

    /**
     * File get last-modified time is supported.
     */
    GET_LAST_MODIFIED,

    /**
     * File set last-modified time is supported.
     */
    SET_LAST_MODIFIED_FILE,

    /**
     * folder set last-modified time is supported.
     */
    SET_LAST_MODIFIED_FOLDER,

    /**
     * File content signing is supported.
     */
    SIGNING,

    /**
     * Files can be created.
     */
    CREATE,

    /**
     * Files can be deleted.
     */
    DELETE,

    /**
     * Files can be renamed.
     */
    RENAME,

    /**
     * The file type can be determined.
     */
    GET_TYPE,

    /**
     * Children of files can be listed.
     */
    LIST_CHILDREN,

    /**
     * URI are supported. Files without this capability use URI that do not globally and uniquely identify the file.
     */
    URI,

    /**
     * File system attributes are supported.
     */
    FS_ATTRIBUTES,

    /**
     * Junctions are supported.
     */
    JUNCTIONS,

    /**
     * The set of attributes defined by the Jar manifest specification are supported. The attributes aren't necessarily
     * stored in a manifest file.
     */
    MANIFEST_ATTRIBUTES,

    /**
     * The provider itself do not provide a file system. It simply resolves a full name and dispatches the request back
     * to the file system manager.
     * 

* A provider with this capability cant tell much about the capabilities about the finally used file system in * advance. *

*/ DISPATCHER, /** * A compressed file system is a file system which use compression. */ COMPRESS, /** * A virtual file system can be an archive like tar or zip. */ VIRTUAL, /** * Provides directories which allows you to read its content through * {@link org.apache.commons.vfs2.FileContent#getInputStream()}. * * @since 2.0 */ DIRECTORY_READ_CONTENT; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy