package ru.apetrov.FileSearch;

import java.io.File;

/**
 * Created by Andrey on 07.01.2017.
 */
public class Validate {

    /**
     * Массив аргументов.
     */
    private String[] args;

    /**
     * Директория.
     */
    private File dir;

    /**
     * Конструктор.
     * @param args args.
     */
    public Validate(String[] args) {
        this.args = args;
        this.dir = new File(args[1]);
    }

    /**
     * Проверка введенной комманды.
     * @param args массив ключей
     * @return результат
     */
    private boolean checkArgs(String[] args) {
        boolean result = true;
        if (!this.args[0].equals("-d")) {
            result = false;
        }

        if (!args[2].equals("-n")) {
            result = false;
        }

        if (!args[4].equals("-m") && !args[4].equals("-f") && !args[4].equals("-r")) {
            result = false;
        }

        if (!args[5].equals("-o")) {
            result = false;
        }
        return result;
    }

    /**
     * Выбор типа поиска.
     */
    public void isValidate() {
        if (this.checkArgs(this.args) && this.dir.isDirectory()) {

            if (this.args[4].equals("-m")) {
                System.out.println(new FindByMask(this.dir, args[3]));
            }

            if (args[4].equals("-f")) {
                System.out.println(new FindByName(this.dir, args[3]));
            }

            if (args[4].equals("-r")) {
                System.out.println(new FindByRegExp(this.dir, args[3]));
            }
        } else {
            System.out.printf("%s", "Ключи \n-d - директория в которая начинать поиск.\n-n - имя файл, маска, либо регулярное выражение.\n-m - искать по маске, либо -f - полное совпадение имени. -r - регулярное выражение.\n-o - результат записать в файл.");
        }
    }
}

@@ -461,41 +461,8 @@
 %D0%B4%D1%8B.%0A
-     * @param args %D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2 %D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9%0A
     
@@ -520,29 +520,16 @@
 eckArgs(
-String%5B%5D args
 ) %7B%0A    
@@ -645,24 +645,29 @@
        if (!
+this.
 args%5B2%5D.equa
@@ -726,24 +726,29 @@
        if (!
+this.
 args%5B4%5D.equa
@@ -756,24 +756,29 @@
 s(%22-m%22) && !
+this.
 args%5B4%5D.equa
@@ -790,16 +790,21 @@
 f%22) && !
+this.
 args%5B4%5D.
@@ -871,16 +871,21 @@
    if (!
+this.
 args%5B5%5D.
@@ -1068,25 +1068,16 @@
 eckArgs(
-this.args
 ) && thi
@@ -1197,32 +1197,37 @@
 yMask(this.dir, 
+this.
 args%5B3%5D));%0A     
@@ -1244,32 +1244,37 @@
             if (
+this.
 args%5B4%5D.equals(%22
@@ -1333,32 +1333,37 @@
 yName(this.dir, 
+this.
 args%5B3%5D));%0A     
@@ -1388,16 +1388,21 @@
     if (
+this.
 args%5B4%5D.
@@ -1479,16 +1479,21 @@
 is.dir, 
+this.
 args%5B3%5D)

update FileSearch