/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.content.category; /** * Accumulator class for category access rights. */ public final class CategoryAccessRightsAccumulated { private boolean read; private boolean create; private boolean publish; private boolean administrate; private boolean adminRead; /** * @param initialValue A value that all member rights are set to. */ public CategoryAccessRightsAccumulated( boolean initialValue ) { setAllTo( initialValue ); } public boolean isRead() { return read; } public boolean isCreate() { return create; } public boolean isPublish() { return publish; } public boolean isAdministrate() { return administrate; } public boolean isAdminRead() { return adminRead; } /** * @param value A value that all member rights are set to. */ public void setAllTo( boolean value ) { read = value; create = value; publish = value; administrate = value; adminRead = value; } public boolean isAllTrue() { return read && create && publish && administrate && adminRead; } public void accumulate( CategoryAccessEntity categoryAccess ) { read = read || categoryAccess.givesRead(); adminRead = adminRead || categoryAccess.givesAdminBrowse(); create = create || categoryAccess.givesCreate(); publish = publish || categoryAccess.givesApprove(); administrate = administrate || categoryAccess.givesAdministrate(); } }