/* * Copyright 2013-2017 Simba Open Source * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package org.simbasecurity.core.domain; /** * A ResourceRule is a specific {@link org.simbasecurity.core.domain.Rule} for a specific resource. * * @since 1.0 */ public interface ResourceRule extends Rule { /** * @return whether creating is allowed. */ boolean isCreateAllowed(); /** * @param allowed sets whether creating is allowed */ void setCreateAllowed(boolean allowed); /** * @return whether deleting is allowed. */ boolean isDeleteAllowed(); /** * @param allowed sets whether deleting is allowed */ void setDeleteAllowed(boolean allowed); /** * @return whether reading is allowed. */ boolean isReadAllowed(); /** * @param allowed sets whether reading is allowed */ void setReadAllowed(boolean allowed); /** * @return whether changing/writing is allowed. */ boolean isWriteAllowed(); /** * @param allowed sets whether writing is allowed */ void setWriteAllowed(boolean allowed); /** * @param operation the operation to be checked * @return <code>true</code> if operation is allowed; <code>false</code> if operation is not allowed */ boolean isAllowed(ResourceOperationType operation); }