package com.ruoyi.file.model;

import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.file.enums.FileType;
import lombok.Data;

import java.io.File;
import java.io.FileFilter;

@Data
public class FileSystemFilter implements FileFilter
{
    private String fileName;
    private String  filePath;
    private Integer fileType;
    private Boolean showHidden;

    @Override
    public boolean accept(File file)
    {
        if(null != showHidden)
        {
            if(!showHidden && file.isHidden())
                return false;
        }
        if(StringUtils.isNotEmpty(fileName))
        {
            if(!file.getName().contains(fileName))
                return false;
        }
        if(null != fileType && fileType != 0)
        {
            if(!FileType.Is(file, fileType))
                return false;
        }
        return true;
    }
}
