@Override public boolean isHidden(Path path) throws IOException { // TODO(cgdecker): This should probably be configurable, but this seems fine for now /* * If the DOS view is supported, use the Windows isHidden method (check the dos:hidden * attribute). Otherwise, use the Unix isHidden method (just check if the file name starts with * "."). */ JimfsPath checkedPath = checkPath(path); FileSystemView view = getDefaultView(checkedPath); if (getFileStore(path).supportsFileAttributeView("dos")) { return view .readAttributes(checkedPath, DosFileAttributes.class, Options.NOFOLLOW_LINKS) .isHidden(); } return path.getNameCount() > 0 && path.getFileName().toString().startsWith("."); }
try { FileStore store = Files.getFileStore(file); if (store.supportsFileAttributeView("basic")) { try { final DateFormat formatter = new SimpleDateFormat(FILE_MODIFY_DATE_ATTR_FORMAT, Locale.US); if (store.supportsFileAttributeView("owner")) { try { FileOwnerAttributeView view = Files.getFileAttributeView(file, FileOwnerAttributeView.class); if (store.supportsFileAttributeView("posix")) { try { PosixFileAttributeView view = Files.getFileAttributeView(file, PosixFileAttributeView.class);
if (store.supportsFileAttributeView("basic")) { try { BasicFileAttributeView view = Files.getFileAttributeView(filePath, BasicFileAttributeView.class); if (store.supportsFileAttributeView("owner")) { try { FileOwnerAttributeView view = Files.getFileAttributeView(filePath, FileOwnerAttributeView.class); if (store.supportsFileAttributeView("posix")) { try { PosixFileAttributeView view = Files.getFileAttributeView(filePath, PosixFileAttributeView.class);
@Override public boolean supportsFileAttributeView(Class<? extends FileAttributeView> type) { return in.supportsFileAttributeView(type); }
if (store.supportsFileAttributeView("basic")) { assertEquals(time3Formatted, mock1.getAttribute(ListFile.FILE_LAST_MODIFY_TIME_ATTRIBUTE)); assertNotNull(mock1.getAttribute(ListFile.FILE_CREATION_TIME_ATTRIBUTE)); assertNotNull(mock1.getAttribute(ListFile.FILE_LAST_ACCESS_TIME_ATTRIBUTE)); if (store.supportsFileAttributeView("owner")) { if (store.supportsFileAttributeView("posix")) { assertNotNull("Group name should be set", mock1.getAttribute(ListFile.FILE_GROUP_ATTRIBUTE)); assertNotNull("File permissions should be set", mock1.getAttribute(ListFile.FILE_PERMISSIONS_ATTRIBUTE));
@Override public boolean supportsFileAttributeView(String name) { if ("lucene".equals(name)) { return true; } else { return in.supportsFileAttributeView(name); } }
fos.close(); FileStore store = Files.getFileStore(file2.toPath()); if (store.supportsFileAttributeView("dos")) { Files.setAttribute(file2.toPath(), "dos:hidden", true);
public NodePath(Path path) throws IOException { this.path = path; this.indicesPath = path.resolve(INDICES_FOLDER); this.fileStore = Environment.getFileStore(path); if (fileStore.supportsFileAttributeView("lucene")) { this.majorDeviceNumber = (int) fileStore.getAttribute("lucene:major_device_number"); this.minorDeviceNumber = (int) fileStore.getAttribute("lucene:minor_device_number"); } else { this.majorDeviceNumber = -1; this.minorDeviceNumber = -1; } }
@Override public boolean supportsFileAttributeView(String name) { return fileStore.supportsFileAttributeView(name); }
@Override public boolean supportsFileAttributeView(Class<? extends FileAttributeView> type) { return fileStore.supportsFileAttributeView(type); }
@Override public boolean supportsFileAttributeView(Class<? extends FileAttributeView> type) { return fileStore.supportsFileAttributeView(type); }
@Override public boolean supportsFileAttributeView(String name) { return fileStore.supportsFileAttributeView(name); }
@Override public boolean supportsFileAttributeView(String name) { return fileStore.supportsFileAttributeView(name); }
@Override public boolean supportsFileAttributeView( Class<? extends FileAttributeView> type) { return origFileStore.supportsFileAttributeView(type); }
@Override public boolean supportsFileAttributeView(String name) { if ("lucene".equals(name)) { return true; } else { return in.supportsFileAttributeView(name); } }
@Override public boolean supportsFileAttributeView(String name) { if ("lucene".equals(name)) { return true; } else { return in.supportsFileAttributeView(name); } }
public NodePath(Path path) throws IOException { this.path = path; this.indicesPath = path.resolve(INDICES_FOLDER); this.fileStore = Environment.getFileStore(path); if (fileStore.supportsFileAttributeView("lucene")) { this.majorDeviceNumber = (int) fileStore.getAttribute("lucene:major_device_number"); this.minorDeviceNumber = (int) fileStore.getAttribute("lucene:minor_device_number"); } else { this.majorDeviceNumber = -1; this.minorDeviceNumber = -1; } }
@Test public void supportsOtherFileAttributeViewType() { Assert.assertEquals("ShrinkWrap file store should not support other file attribute views", false, this.fileStore.supportsFileAttributeView(new FileAttributeView() { @Override public String name() { return "mock"; } }.getClass())); }
@Test public void supportsBasicFileAttributeViewType() { Assert.assertEquals("ShrinkWrap file store must support basic file attribute view", true, this.fileStore.supportsFileAttributeView(BasicFileAttributeView.class)); }
@Test public void supportsOtherFileAttributeView() { Assert.assertEquals("ShrinkWrap file store should not support other file attribute views", false, this.fileStore.supportsFileAttributeView("somethingelse")); }