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

de.deepamehta.files.ResourceInfo Maven / Gradle / Ivy

package de.deepamehta.files;

import de.deepamehta.core.JSONEnabled;

import org.codehaus.jettison.json.JSONObject;

import java.io.File;



public class ResourceInfo implements JSONEnabled {

    // ---------------------------------------------------------------------------------------------- Instance Variables

    private ItemKind kind;  // FILE or DIRECTORY

    // ---------------------------------------------------------------------------------------------------- Constructors

    /**
     * Precondition: the file exists.
     */
    public ResourceInfo(File file) {
        kind = file.isDirectory() ? ItemKind.DIRECTORY : ItemKind.FILE;
    }

    // -------------------------------------------------------------------------------------------------- Public Methods

    public ItemKind getItemKind() {
        return kind;
    }

    @Override
    public JSONObject toJSON() {
        try {
            JSONObject info = new JSONObject();
            info.put("kind", kind.stringify());
            return info;
        } catch (Exception e) {
            throw new RuntimeException("Serialization failed (" + this + ")", e);
        }
    }

    @Override
    public String toString() {
        return "resource info (kind=\"" + kind + "\")";
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy