/* * Copyright 2015 Mirosław Romaniuk (mi9rom@gmail.com) * * 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 com.vaadHL.window.base.perm; /** * A permission checker which is an AND combination of two checkers * * @author Miroslaw Romaniuk * */ public class MasterSlavePermChecker implements IWinPermChecker { IWinPermChecker pch1; IWinPermChecker pch2; /** * * @param master * master window permission checker * @param slave * window permission checker */ public MasterSlavePermChecker(IWinPermChecker master, IWinPermChecker slave) { super(); this.pch1 = master; this.pch2 = slave; } @Override public boolean canOpen() { return pch1.canOpen() && pch2.canOpen(); } @Override public boolean canEdit() { return pch1.canEdit() && pch2.canEdit(); } @Override public boolean canCreate() { return pch1.canCreate() && pch2.canCreate(); } @Override public boolean canDelete() { return pch1.canDelete() && pch2.canDelete(); } @Override public boolean canDo(int actionId) { return pch1.canDo(actionId) && pch2.canDo(actionId); } @Override public boolean canDo(int actionId, boolean defValue) { return pch1.canDo(actionId, defValue) && pch2.canDo(actionId, defValue); } }