001package org.opengion.fukurou.model; 002 003/** 004 * ファイル情報の格納クラス 005 * 006 * listFilesで取得した、 007 * ディレクトリとファイル一覧情報の格納用クラスです。 008 * 009 * @og.group ファイル操作 010 * 011 * @og.rev 5.10.8.0 (2019/02/01) 新規作成 012 * @author oota 013 * @since JDK7.0 014 */ 015public class FileOperationInfo extends AbstractFileOperation 016 implements Comparable<FileOperation> { 017 /** クラス変数 */ 018 private String path; 019 private String name; 020 private String parent; 021 private long size; 022 private long lastModified; 023 private boolean isFile; 024 private boolean isDirectory; 025 private boolean isHidden; 026 private boolean canRead; 027 private boolean canWrite; 028 029 /** 030 * コンストラクタ 031 */ 032 public FileOperationInfo() { 033 // クラス変数の初期化 034 path = ""; 035 name = ""; 036 parent = ""; 037 size = 0; 038 lastModified = 0; 039 isFile = false; 040 isDirectory = false; 041 isHidden = false; 042 canRead = true; 043 canWrite = true; 044 } 045 046 /** Getter ・ Setter */ 047 @Override 048 public String getPath() { 049 return path; 050 } 051 052 /** 053 * @param path 054 */ 055 public void setPath(String path) { 056 this.path = path; 057 } 058 059 @Override 060 public String getName() { 061 return name; 062 } 063 064 /** 065 * @param name 066 */ 067 public void setName(String name) { 068 this.name = name; 069 } 070 071 @Override 072 public String getParent() { 073 return parent; 074 } 075 076 /** 077 * @param parent 078 */ 079 public void setParent(String parent) { 080 this.parent = parent; 081 } 082 083 @Override 084 public long length() { 085 return size; 086 } 087 088 /** 089 * @param size 090 */ 091 public void setSize(long size) { 092 this.size = size; 093 } 094 095 @Override 096 public long lastModified() { 097 return lastModified; 098 } 099 100 /** 101 * @param lastModified 102 */ 103 public void setLastModifiedValue(long lastModified) { 104 this.lastModified = lastModified; 105 } 106 107 @Override 108 public boolean isFile() { 109 return isFile; 110 } 111 112 /** 113 * @param isFile 114 */ 115 public void setFile(boolean isFile) { 116 this.isFile = isFile; 117 } 118 119 @Override 120 public boolean isDirectory() { 121 return isDirectory; 122 } 123 124 /** 125 * @param isDirectory 126 */ 127 public void setDirectory(boolean isDirectory) { 128 this.isDirectory = isDirectory; 129 } 130 131 @Override 132 public boolean isHidden() { 133 return isHidden; 134 } 135 136 /** 137 * @param isHidden 138 */ 139 public void setHidden(boolean isHidden) { 140 this.isHidden = isHidden; 141 } 142 143 @Override 144 public boolean canRead() { 145 return canRead; 146 } 147 148 /** 149 * @param canRead 150 */ 151 public void setCanRead(boolean canRead) { 152 this.canRead = canRead; 153 } 154 155 @Override 156 public boolean canWrite() { 157 return canWrite; 158 } 159 160 /** 161 * @param canWrite 162 */ 163 public void setCanWrite(boolean canWrite) { 164 this.canWrite = canWrite; 165 } 166 167 /** 168 * 1つ下の、ディレクトリ・ファイル一覧を取得します。 169 */ 170 @Override 171 public FileOperation[] listFiles(FileOperationFileFilter filter) { 172 FileOperation file = FileOperationFactory.newStorageOperation(path); 173 return file.listFiles(filter); 174 } 175 176 /** 177 * compareToでは、パスの比較を行います。 178 */ 179 @Override 180 public int compareTo(FileOperation trg) { 181 return getPath().compareToIgnoreCase(trg.getPath()); 182 } 183 184 /** 185 * カノニカルファイル取得メソッドでは、自身を返します。 186 */ 187 @Override 188 public FileOperation getCanonicalFile() { 189 return this; 190 } 191}