001 package de.deepamehta.plugins.files;
002
003 import de.deepamehta.core.JSONEnabled;
004
005 import org.codehaus.jettison.json.JSONObject;
006
007 import java.io.File;
008
009
010
011 public class ResourceInfo implements JSONEnabled {
012
013 // ---------------------------------------------------------------------------------------------- Instance Variables
014
015 private ItemKind kind; // FILE or DIRECTORY
016
017 // ---------------------------------------------------------------------------------------------------- Constructors
018
019 /**
020 * Precondition: the file exists.
021 */
022 public ResourceInfo(File file) {
023 kind = file.isDirectory() ? ItemKind.DIRECTORY : ItemKind.FILE;
024 }
025
026 // -------------------------------------------------------------------------------------------------- Public Methods
027
028 public ItemKind getItemKind() {
029 return kind;
030 }
031
032 @Override
033 public JSONObject toJSON() {
034 try {
035 JSONObject info = new JSONObject();
036 info.put("kind", kind.stringify());
037 return info;
038 } catch (Exception e) {
039 throw new RuntimeException("Serialization failed (" + this + ")", e);
040 }
041 }
042
043 @Override
044 public String toString() {
045 return "resource info (kind=\"" + kind + "\")";
046 }
047 }