public StandardFileInfo(File file, FileModificationInfo fileModificationInfo, FileInfoAccessor fileInfoAccessor, LoggerFactory loggerFactory) {
this.fileModificationInfo = fileModificationInfo;
fileIterator = new StandardFileIterator(fileModificationInfo, file, fileInfoAccessor);
this.file = file;
isDirectoryChecker = new InfoFileModifiedChecker(fileModificationInfo);
existsChecker = new InfoFileModifiedChecker(fileModificationInfo);
try {
canonicalPath = file.getCanonicalPath();
} catch (IOException e) {
loggerFactory.getLogger(this.getClass()).warn("Unable to calculate canonical path for path '%s'.", file.getPath());