    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         * １つ下の、ディレクトリ・ファイル一覧を取得します。
    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}