Class FileTreeBuilder

java.lang.Object
xyz.cofe.io.fs.FileTreeBuilder
All Implemented Interfaces:
java.lang.Iterable<File>, xyz.cofe.iter.Eterable<File>

public class FileTreeBuilder
extends java.lang.Object
implements xyz.cofe.iter.Eterable<File>
Алгоритм обхода дерева каталогов
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
      FileTreeBuilder​(File from)
    Конструктор
    protected FileTreeBuilder​(FileTreeBuilder sample)
    Конструктор копирования
  • Method Summary

    Modifier and Type Method Description
    FileTreeBuilder checkCycle​(boolean checkCycle)
    Проверять наличие закольцованности при обходе дочерних узлов
    FileTreeBuilder checkDir​(boolean checkDir)
    Провереть что дочерний элемент является каталогом
    FileTreeBuilder dirFollow​(DirFollow follow)
    Указывает алгоритм обхода
    FileTreeBuilder errorBehavior​(DirFollow.ErrorBehavior errorBehavior)
    Указывает поведение при возникновении ошибки
    FileTreeBuilder followLinks​(boolean followLinks)
    Указывает следовать ли символичным ссылкам
    DirFollow getDirFollow()
    Указывает алгоритм обхода
    DirFollow.ErrorBehavior getErrorBehavior()
    Возвращает поведение при возникновении ошибки
    File getFrom()
    Указывает каталог с которого начинаеться обход
    xyz.cofe.iter.Eterable<File> go()
    Возвращает итератор по дереву каталогов
    boolean isCheckCycle()
    Проверять наличие закольцованности при обходе дочерних узлов
    boolean isCheckDir()
    Провереть что дочерний элемент является каталогом
    boolean isFollowLinks()
    Возвращает следовать ли символичным ссылкам
    java.util.Iterator<File> iterator()
    Возвращает итератор по дереву каталогов
    xyz.cofe.iter.Eterable<xyz.cofe.iter.TreeStep<File>> tree()  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface xyz.cofe.iter.Eterable

    count, filter, first, limit, map, notNull, product, product, product, product, product, toList, union, union

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

    • FileTreeBuilder

      protected FileTreeBuilder​(FileTreeBuilder sample)
      Конструктор копирования
      Parameters:
      sample - образец для копирования
    • FileTreeBuilder

      public FileTreeBuilder​(File from)
      Конструктор
      Parameters:
      from - каталог (или файл) относительно начинается обход
  • Method Details

    • getFrom

      public File getFrom()
      Указывает каталог с которого начинаеться обход
      Returns:
      начальный каталог
    • getDirFollow

      public DirFollow getDirFollow()
      Указывает алгоритм обхода
      Returns:
      алгоритм обхода
    • dirFollow

      public FileTreeBuilder dirFollow​(DirFollow follow)
      Указывает алгоритм обхода
      Parameters:
      follow - алгоритм обхода
      Returns:
      Клон с новым алгоритмом
    • isCheckDir

      public boolean isCheckDir()
      Провереть что дочерний элемент является каталогом
      Returns:
      true (по умолчанию) - осуществлять проверку
    • checkDir

      public FileTreeBuilder checkDir​(boolean checkDir)
      Провереть что дочерний элемент является каталогом
      Parameters:
      checkDir - true (по умолчанию) - осуществлять проверку
      Returns:
      Клон с новыми настройками
    • isCheckCycle

      public boolean isCheckCycle()
      Проверять наличие закольцованности при обходе дочерних узлов
      Returns:
      true (по умолчанию) - проверять наличие закольцованности
    • checkCycle

      public FileTreeBuilder checkCycle​(boolean checkCycle)
      Проверять наличие закольцованности при обходе дочерних узлов
      Parameters:
      checkCycle - true (по умолчанию) - проверять наличие закольцованности
      Returns:
      Клон с новыми настройками
    • getErrorBehavior

      public DirFollow.ErrorBehavior getErrorBehavior()
      Возвращает поведение при возникновении ошибки
      Returns:
      поведение при возникновении ошибки
    • errorBehavior

      public FileTreeBuilder errorBehavior​(DirFollow.ErrorBehavior errorBehavior)
      Указывает поведение при возникновении ошибки
      Parameters:
      errorBehavior - поведение при возникновении ошибки
      Returns:
      Клон с новыми настройками
    • isFollowLinks

      public boolean isFollowLinks()
      Возвращает следовать ли символичным ссылкам
      Returns:
      true - следовать ссылкам
    • followLinks

      public FileTreeBuilder followLinks​(boolean followLinks)
      Указывает следовать ли символичным ссылкам
      Parameters:
      followLinks - true - следовать ссылкам
      Returns:
      Клон с новыми настройками
    • tree

      public xyz.cofe.iter.Eterable<xyz.cofe.iter.TreeStep<File>> tree()
    • go

      public xyz.cofe.iter.Eterable<File> go()
      Возвращает итератор по дереву каталогов
      Returns:
      итератор
    • iterator

      public java.util.Iterator<File> iterator()
      Возвращает итератор по дереву каталогов
      Specified by:
      iterator in interface java.lang.Iterable<File>
      Returns:
      итератор