/** * Sets all initial attributes for the given file, including the given attributes if possible. */ public void setInitialAttributes(File file, FileAttribute<?>... attrs) { // default values should already be sanitized by their providers for (int i = 0; i < defaultValues.size(); i++) { FileAttribute<?> attribute = defaultValues.get(i); int separatorIndex = attribute.name().indexOf(':'); String view = attribute.name().substring(0, separatorIndex); String attr = attribute.name().substring(separatorIndex + 1); file.setAttribute(view, attr, attribute.value()); } for (FileAttribute<?> attr : attrs) { setAttribute(file, attr.name(), attr.value(), true); } }
public static int parseAttrs(FileAttribute<?>... attrs) { int mode = 0; for (FileAttribute a : attrs) { for (PosixFilePermission p : (Set<PosixFilePermission>) a.value()) { Integer perm = permsToMode.get(p); if (null != perm) { mode |= perm; } } } return mode; }
public static Set<PosixFilePermission> extractPosixPermissions(final FileAttribute<?>[] fileAttributes) { // create file depending on OS config will not create all requested attributes. Set<PosixFilePermission> permissions = null; for (FileAttribute<?> attr : fileAttributes) { Object value = attr.value(); if (value instanceof Set) { Set set = (Set) value; for (Object obj : set) { if (obj instanceof PosixFilePermission) { if (permissions == null) { permissions = EnumSet.of((PosixFilePermission) obj); } else { permissions.add((PosixFilePermission) obj); } } } } } return permissions == null ? Collections.EMPTY_SET : permissions; }
private FileAttributeReader(Collection<? extends FileAttribute> attributes) { for(FileAttribute attribute : attributes) attributeMap.put(attribute.name(), attribute.value()); }
private FileAttributeReader(Collection<? extends FileAttribute> attributes) { for(FileAttribute attribute : attributes) attributeMap.put(attribute.name(), attribute.value()); }
/** * Sets all initial attributes for the given file, including the given attributes if possible. */ public void setInitialAttributes(File file, FileAttribute<?>... attrs) { // default values should already be sanitized by their providers for (int i = 0; i < defaultValues.size(); i++) { FileAttribute<?> attribute = defaultValues.get(i); int separatorIndex = attribute.name().indexOf(':'); String view = attribute.name().substring(0, separatorIndex); String attr = attribute.name().substring(separatorIndex + 1); file.setAttribute(view, attr, attribute.value()); } for (FileAttribute<?> attr : attrs) { setAttribute(file, attr.name(), attr.value(), true); } }
static void setAttributes(MemoryEntry entry, FileAttribute<?>... attrs) throws IOException { for (FileAttribute<?> attribute : attrs) { getAccessor(attribute.name()).writeAttribute(attribute.value(), entry); } }
System.arraycopy(attributes, 0, copy, 0, i - 1); Set<PosixFilePermission> perms = (Set<PosixFilePermission>) attribute.value(); Set<PosixFilePermission> newPerms = EnumSet.copyOf(perms); newPerms.removeAll(this.umask);
@Override @SuppressWarnings("unchecked") public void createDirectory( Path path, FileAttribute<?>... fileAttributes ) throws IOException { UnixSshPath unixPath = checkPath( path ); Set<PosixFilePermission> permissions = null; for ( FileAttribute<?> fileAttribute : fileAttributes ) { if ( fileAttribute.name().equals( "posix:permissions" ) ) { permissions = (Set<PosixFilePermission>)fileAttribute.value(); } } StringBuilder commandBuilder = new StringBuilder( unixPath.getFileSystem().getCommand( "mkdir" ) ) .append( " " ); if ( permissions != null ) { commandBuilder.append( "-m " ).append( toMode( permissions ) ); } commandBuilder.append( unixPath.toAbsolutePath().quotedString() ); executeForStdout( unixPath, commandBuilder.toString() ); }
for ( FileAttribute<?> fileAttribute : fileAttributes ) { if ( fileAttribute.name().equals( "posix:permissions" ) ) { permissions = (Set<PosixFilePermission>)fileAttribute.value();
setAttribute(p, attr.name(), attr.value());