package model.persistance; import java.util.ArrayList; import java.util.List; import model.IliasFile; import model.IliasFolder; import model.IliasTreeNode; public class IliasTreeProvider { private static List<IliasFolder> allFiles = null; public static List<IliasFile> getAllIliasFiles() { List<IliasFile> allFiles = new ArrayList<IliasFile>(); pdfFilter(getTree(), allFiles); return allFiles; } public static List<IliasFolder> getTree() { if (allFiles == null) { allFiles = IliasTreeStorage.getTree(); if (allFiles == null) { allFiles = new ArrayList<IliasFolder>(); } } return allFiles; } public static void setTree(List<IliasFolder> allFiles) { IliasTreeStorage.storeAllFiles(allFiles); IliasTreeProvider.allFiles = allFiles; } private static void pdfFilter(final List<? extends IliasTreeNode> nodes, final List<IliasFile> allIliasFiles) { for (IliasTreeNode node : nodes) { if (node instanceof IliasFile) { allIliasFiles.add((IliasFile) node); } else if (node instanceof IliasFolder) { pdfFilter(((IliasFolder) node).getChildNodes(), allIliasFiles); } } } }