All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.softicar.platform.common.container.file.tree.FileTreeIterable Maven / Gradle / Ivy

Go to download

The SoftiCAR Platform is a lightweight, Java-based library to create interactive business web applications.

There is a newer version: 50.0.0
Show newest version
package com.softicar.platform.common.container.file.tree;

import com.softicar.platform.common.container.iterable.recurse.RecurseIterator;
import java.io.File;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;

public class FileTreeIterable implements Iterable {

	private final Collection roots;

	public FileTreeIterable(File root) {

		this(Collections.singleton(root));
	}

	public FileTreeIterable(Collection roots) {

		this.roots = roots;
	}

	@Override
	public Iterator iterator() {

		return new RecurseIterator<>(roots, FileTreeIterable::recurse);
	}

	private static Iterable recurse(File file) {

		return file.isDirectory()? Arrays.asList(file.listFiles()) : null;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy