Package org.apache.commons.io.file
Class CountingPathVisitor
- java.lang.Object
-
- java.nio.file.SimpleFileVisitor<java.nio.file.Path>
-
- org.apache.commons.io.file.SimplePathVisitor
-
- org.apache.commons.io.file.CountingPathVisitor
-
- All Implemented Interfaces:
java.nio.file.FileVisitor<java.nio.file.Path>,PathVisitor
- Direct Known Subclasses:
AccumulatorPathVisitor,CleaningPathVisitor,CopyDirectoryVisitor,DeletingPathVisitor
public class CountingPathVisitor extends SimplePathVisitor
Counts files, directories, and sizes, as a visit proceeds.- Since:
- 2.7
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCountingPathVisitor.AbstractBuilder<T,B extends CountingPathVisitor.AbstractBuilder<T,B>>Builds instances ofCountingPathVisitor.static classCountingPathVisitor.BuilderBuilds instances ofCountingPathVisitor.
-
Field Summary
Fields Modifier and Type Field Description private PathFilterdirectoryFilterprivate java.util.function.UnaryOperator<java.nio.file.Path>directoryPostTransformer(package private) static java.lang.String[]EMPTY_STRING_ARRAYprivate PathFilterfileFilterprivate Counters.PathCounterspathCounters
-
Constructor Summary
Constructors Constructor Description CountingPathVisitor(Counters.PathCounters pathCounters)Constructs a new instance.CountingPathVisitor(Counters.PathCounters pathCounters, PathFilter fileFilter, PathFilter directoryFilter)Constructs a new instance.CountingPathVisitor(Counters.PathCounters pathCounters, PathFilter fileFilter, PathFilter directoryFilter, IOBiFunction<java.nio.file.Path,java.io.IOException,java.nio.file.FileVisitResult> visitFileFailed)Deprecated.CountingPathVisitor(CountingPathVisitor.AbstractBuilder<?,?> builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static IOFileFilterdefaultDirectoryFilter()(package private) static java.util.function.UnaryOperator<java.nio.file.Path>defaultDirectoryTransformer()(package private) static IOFileFilterdefaultFileFilter()(package private) static Counters.PathCountersdefaultPathCounters()booleanequals(java.lang.Object obj)Counters.PathCountersgetPathCounters()Gets the visitation counts.inthashCode()java.nio.file.FileVisitResultpostVisitDirectory(java.nio.file.Path dir, java.io.IOException exc)java.nio.file.FileVisitResultpreVisitDirectory(java.nio.file.Path dir, java.nio.file.attribute.BasicFileAttributes attributes)java.lang.StringtoString()protected voidupdateDirCounter(java.nio.file.Path dir, java.io.IOException exc)Updates the counter for visiting the given directory.protected voidupdateFileCounters(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes)Updates the counters for visiting the given file.java.nio.file.FileVisitResultvisitFile(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes)static CountingPathVisitorwithBigIntegerCounters()Constructs a new instance configured with aBigIntegerCounters.PathCounters.static CountingPathVisitorwithLongCounters()Constructs a new instance configured with alongCounters.PathCounters.-
Methods inherited from class org.apache.commons.io.file.SimplePathVisitor
visitFileFailed
-
-
-
-
Field Detail
-
EMPTY_STRING_ARRAY
static final java.lang.String[] EMPTY_STRING_ARRAY
-
pathCounters
private final Counters.PathCounters pathCounters
-
fileFilter
private final PathFilter fileFilter
-
directoryFilter
private final PathFilter directoryFilter
-
directoryPostTransformer
private final java.util.function.UnaryOperator<java.nio.file.Path> directoryPostTransformer
-
-
Constructor Detail
-
CountingPathVisitor
CountingPathVisitor(CountingPathVisitor.AbstractBuilder<?,?> builder)
-
CountingPathVisitor
public CountingPathVisitor(Counters.PathCounters pathCounters)
Constructs a new instance.- Parameters:
pathCounters- How to count path visits.- See Also:
CountingPathVisitor.Builder
-
CountingPathVisitor
public CountingPathVisitor(Counters.PathCounters pathCounters, PathFilter fileFilter, PathFilter directoryFilter)
Constructs a new instance.- Parameters:
pathCounters- How to count path visits.fileFilter- Filters which files to count.directoryFilter- Filters which directories to count.- Since:
- 2.9.0
- See Also:
CountingPathVisitor.Builder
-
CountingPathVisitor
@Deprecated public CountingPathVisitor(Counters.PathCounters pathCounters, PathFilter fileFilter, PathFilter directoryFilter, IOBiFunction<java.nio.file.Path,java.io.IOException,java.nio.file.FileVisitResult> visitFileFailed)
Deprecated.Constructs a new instance.- Parameters:
pathCounters- How to count path visits.fileFilter- Filters which files to count.directoryFilter- Filters which directories to count.visitFileFailed- Called onSimplePathVisitor.visitFileFailed(Path, IOException).- Since:
- 2.12.0
-
-
Method Detail
-
defaultDirectoryFilter
static IOFileFilter defaultDirectoryFilter()
-
defaultDirectoryTransformer
static java.util.function.UnaryOperator<java.nio.file.Path> defaultDirectoryTransformer()
-
defaultFileFilter
static IOFileFilter defaultFileFilter()
-
defaultPathCounters
static Counters.PathCounters defaultPathCounters()
-
withBigIntegerCounters
public static CountingPathVisitor withBigIntegerCounters()
Constructs a new instance configured with aBigIntegerCounters.PathCounters.- Returns:
- a new instance configured with a
BigIntegerCounters.PathCounters.
-
withLongCounters
public static CountingPathVisitor withLongCounters()
Constructs a new instance configured with alongCounters.PathCounters.- Returns:
- a new instance configured with a
longCounters.PathCounters.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
getPathCounters
public Counters.PathCounters getPathCounters()
Gets the visitation counts.- Returns:
- the visitation counts.
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
postVisitDirectory
public java.nio.file.FileVisitResult postVisitDirectory(java.nio.file.Path dir, java.io.IOException exc) throws java.io.IOException- Specified by:
postVisitDirectoryin interfacejava.nio.file.FileVisitor<java.nio.file.Path>- Overrides:
postVisitDirectoryin classjava.nio.file.SimpleFileVisitor<java.nio.file.Path>- Throws:
java.io.IOException
-
preVisitDirectory
public java.nio.file.FileVisitResult preVisitDirectory(java.nio.file.Path dir, java.nio.file.attribute.BasicFileAttributes attributes) throws java.io.IOException- Specified by:
preVisitDirectoryin interfacejava.nio.file.FileVisitor<java.nio.file.Path>- Overrides:
preVisitDirectoryin classjava.nio.file.SimpleFileVisitor<java.nio.file.Path>- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
updateDirCounter
protected void updateDirCounter(java.nio.file.Path dir, java.io.IOException exc)Updates the counter for visiting the given directory.- Parameters:
dir- the visited directory.exc- Encountered exception.- Since:
- 2.9.0
-
updateFileCounters
protected void updateFileCounters(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes)Updates the counters for visiting the given file.- Parameters:
file- the visited file.attributes- the visited file attributes.
-
visitFile
public java.nio.file.FileVisitResult visitFile(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes) throws java.io.IOException- Specified by:
visitFilein interfacejava.nio.file.FileVisitor<java.nio.file.Path>- Overrides:
visitFilein classjava.nio.file.SimpleFileVisitor<java.nio.file.Path>- Throws:
java.io.IOException
-
-