cmsaccesscontrolentry.java
来自「找了很久才找到到源代码」· Java 代码 · 共 557 行 · 第 1/2 页
JAVA
557 行
case 'L':
case 'l':
if (prefix.charAt(0) == '+') {
m_flags |= CmsAccessControlEntry.ACCESS_FLAGS_RESPONSIBLE;
}
if (prefix.charAt(0) == '-') {
m_flags &= ~CmsAccessControlEntry.ACCESS_FLAGS_RESPONSIBLE;
}
break;
default:
permissionString.append(prefix);
permissionString.append(suffix);
break;
}
}
m_permissions = new CmsPermissionSetCustom(permissionString.toString());
}
/**
* Sets the explicitly denied permissions in the access control entry.<p>
*
* @param denied the denied permissions as bitset
*/
public void denyPermissions(int denied) {
m_permissions.denyPermissions(denied);
}
/**
* @see java.lang.Object#equals(java.lang.Object)
*/
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (obj instanceof CmsAccessControlEntry) {
CmsAccessControlEntry other = (CmsAccessControlEntry)obj;
if (other.m_flags != m_flags) {
return false;
}
if (other.getPermissions().getAllowedPermissions() != getPermissions().getAllowedPermissions()) {
return false;
}
if (other.getPermissions().getDeniedPermissions() != getPermissions().getDeniedPermissions()) {
return false;
}
if (!other.m_resource.equals(m_resource)) {
return false;
}
if (!other.m_principal.equals(m_principal)) {
return false;
}
return true;
}
return false;
}
/**
* Returns the currently allowed permissions as bitset.<p>
*
* @return the allowed permissions
*/
public int getAllowedPermissions() {
return m_permissions.getAllowedPermissions();
}
/**
* Returns the currently denied permissions as bitset.<p>
*
* @return the denied permissions
*/
public int getDeniedPermissions() {
return m_permissions.getDeniedPermissions();
}
/**
* Returns the current flags of the access control entry.<p>
*
* @return bitset with flag values
*/
public int getFlags() {
return m_flags;
}
/**
* Returns the string representation of the "inherit" flag.<p>
*
* @return string of the format {{+|-}i}*
*/
public String getInheritingString() {
if (isInheriting()) {
return "+i";
} else {
return "-i";
}
}
/**
* Returns the current permission set (both allowed and denied permissions).<p>
*
* @return the set of permissions
*/
public CmsPermissionSet getPermissions() {
return m_permissions;
}
/**
* Returns the principal assigned with this access control entry.<p>
*
* @return the principal
*/
public CmsUUID getPrincipal() {
return m_principal;
}
/**
* Returns the resource assigned with this access control entry.<p>
*
* @return the resource
*/
public CmsUUID getResource() {
return m_resource;
}
/**
* Returns the string representation of the "responsible" flag.<p>
*
* @return string of the format {{+|-}l}*
*/
public String getResponsibleString() {
if (isResponsible()) {
return "+l";
} else {
return "-l";
}
}
/**
* Sets the allowed permissions in the access control entry.<p>
*
* @param allowed the allowed permissions as bitset
*/
public void grantPermissions(int allowed) {
m_permissions.grantPermissions(allowed);
}
/**
* @see java.lang.Object#hashCode()
*/
public int hashCode() {
if (m_permissions != null) {
return m_permissions.hashCode() * m_flags;
}
return CmsUUID.getNullUUID().hashCode();
}
/**
* Checks if the {@link #ACCESS_FLAGS_ALLOTHERS} flag is set.<p>
*
* @return <code>true</code> if the {@link #ACCESS_FLAGS_ALLOTHERS} flag is set
*/
public boolean isAllOthers() {
return (m_flags & ACCESS_FLAGS_ALLOTHERS) == ACCESS_FLAGS_ALLOTHERS;
}
/**
* Returns if this access control entry has the inherited flag set.<p>
* Note: to check if an access control entry is inherited, also the
* resource id and the id of the current resource must be different.
*
* @return true, if the inherited flag is set
*/
public boolean isInherited() {
return ((m_flags & CmsAccessControlEntry.ACCESS_FLAGS_INHERITED) > 0);
}
/**
* Returns if this ace is being inherited to the folder subresources.<p>
*
* @return <code>true</code>, if this ace is being inherited to the folder subresources
*/
public boolean isInheriting() {
return ((m_flags & CmsAccessControlEntry.ACCESS_FLAGS_INHERIT) > 0);
}
/**
* Checks if the {@link #ACCESS_FLAGS_OVERWRITE_ALL} flag is set.<p>
*
* @return <code>true</code> if the {@link #ACCESS_FLAGS_OVERWRITE_ALL} flag is set
*/
public boolean isOverwriteAll() {
return (m_flags & ACCESS_FLAGS_OVERWRITE_ALL) == ACCESS_FLAGS_OVERWRITE_ALL;
}
/**
* Returns if the principal is responsible for the current resource.<p>
*
* @return true ,if the principal is responsible for the current resource
*/
public boolean isResponsible() {
return ((m_flags & CmsAccessControlEntry.ACCESS_FLAGS_RESPONSIBLE) > 0);
}
/**
* Resets the given flags in the access control entry.<p>
*
* @param flags bitset with flag values to reset
*/
public void resetFlags(int flags) {
m_flags &= ~flags;
}
/**
* Sets the given flags in the access control entry.<p>
*
* @param flags bitset with flag values to set
*/
public void setFlags(int flags) {
m_flags |= flags;
}
/**
* Sets the access flags to identify the given principal type.<p>
*
* @param principal the principal to set the flags for
*/
public void setFlagsForPrincipal(I_CmsPrincipal principal) {
setFlags(principal.isGroup() ? CmsAccessControlEntry.ACCESS_FLAGS_GROUP
: CmsAccessControlEntry.ACCESS_FLAGS_USER);
}
/**
* Sets the allowed and denied permissions of the access control entry.<p>
*
* @param permissions the set of permissions
*/
public void setPermissions(CmsPermissionSet permissions) {
m_permissions.setPermissions(permissions);
}
/**
* Returns the String representation of this access control entry object.<p>
* @see java.lang.Object#toString()
*/
public String toString() {
return "[Ace:] "
+ "ResourceId="
+ m_resource
+ ", PrincipalId="
+ m_principal
+ ", Permissions="
+ m_permissions.toString()
+ ", Flags="
+ m_flags;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?