/** NOT operation. */ public FsAction not() { return vals[7 - ordinal()]; }
private static void write(List<AclEntry> aclEntries, DataOutputStream out) throws IOException { if (aclEntries == null) { out.writeInt(0); return; } out.writeInt(aclEntries.size()); for (AclEntry e : aclEntries) { boolean hasName = e.getName() != null; int v = (e.getScope().ordinal() << ACL_EDITLOG_ENTRY_SCOPE_OFFSET) | (e.getType().ordinal() << ACL_EDITLOG_ENTRY_TYPE_OFFSET) | e.getPermission().ordinal(); if (hasName) { v |= 1 << ACL_EDITLOG_ENTRY_HAS_NAME_OFFSET; } out.write(v); if (hasName) { FSImageSerialization.writeString(e.getName(), out); } } } }
/** NOT operation. */ public FsAction not() { return vals[7 - ordinal()]; } }
static int toInt(AclEntry aclEntry) { long aclEntryInt = 0; aclEntryInt = SCOPE.BITS .combine(aclEntry.getScope().ordinal(), aclEntryInt); aclEntryInt = TYPE.BITS.combine(aclEntry.getType().ordinal(), aclEntryInt); aclEntryInt = PERMISSION.BITS.combine(aclEntry.getPermission().ordinal(), aclEntryInt); SerialNumberManager snm = getSerialNumberManager(aclEntry.getType()); if (snm != null) { int nid = snm.getSerialNumber(aclEntry.getName()); aclEntryInt = NAME.BITS.combine(nid, aclEntryInt); } return (int) aclEntryInt; }
private INodeSection.AclFeatureProto.Builder aclXmlToProto(Node acls) throws IOException { AclFeatureProto.Builder b = AclFeatureProto.newBuilder(); while (true) { Node acl = acls.removeChild(INODE_SECTION_ACL); if (acl == null) { break; } String val = acl.getVal(); AclEntry entry = AclEntry.parseAclEntry(val, true); int nameId = registerStringId(entry.getName() == null ? EMPTY_STRING : entry.getName()); int v = ((nameId & ACL_ENTRY_NAME_MASK) << ACL_ENTRY_NAME_OFFSET) | (entry.getType().ordinal() << ACL_ENTRY_TYPE_OFFSET) | (entry.getScope().ordinal() << ACL_ENTRY_SCOPE_OFFSET) | (entry.getPermission().ordinal()); b.addEntries(v); } return b; }