src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java

Print this page

        

*** 507,512 **** --- 507,536 ---- return null; } }; } + /** + * It accepts a list of file type detectors as the parameter, and return + * the first {@code FileTypeDetector} that can find a file's MIME type. + * If no detectors can find the MIME type, null is returned. + * + * @param detectors List of file type detectors. + * @return The first detector that finds the file type or null. + */ + final FileTypeDetector chain(final AbstractFileTypeDetector... detectors) { + return new AbstractFileTypeDetector() { + @Override + protected String implProbeContentType(Path file) + throws IOException + { + for (AbstractFileTypeDetector detector : detectors) { + String result = detector.implProbeContentType(file); + if (result != null && !result.isEmpty()) { + return result; + } + } + return null; + } + }; + } }