/* * PermissionsEx - Permissions plugin for Bukkit * Copyright (C) 2011 t3hk0d3 http://www.tehkode.ru * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package pex.permissions; import java.util.Map; public abstract class ProxyPermissionGroup extends PermissionGroup { protected IPermissionEntity backendEntity; public ProxyPermissionGroup(PermissionEntity backendEntity) { super(backendEntity.getName(), backendEntity.manager); this.backendEntity = backendEntity; setName(backendEntity.getName()); virtual = backendEntity.isVirtual(); this.backendEntity.initialize(); } @Override public void initialize() { super.initialize(); backendEntity.initialize(); } @Override public String[] getWorlds() { return backendEntity.getWorlds(); } @Override public String getOwnPrefix(String worldName) { return backendEntity.getPrefix(worldName); } @Override public String getOwnSuffix(String worldName) { return backendEntity.getSuffix(worldName); } @Override public void setPrefix(String prefix, String worldName) { backendEntity.setPrefix(prefix, worldName); clearMembersCache(); } @Override public void setSuffix(String suffix, String worldName) { backendEntity.setSuffix(suffix, worldName); clearMembersCache(); } @Override public boolean isVirtual() { return backendEntity.isVirtual(); } @Override public Map<String, Map<String, String>> getAllOptions() { return backendEntity.getAllOptions(); } @Override public Map<String, String[]> getAllPermissions() { return backendEntity.getAllPermissions(); } @Override public String[] getOwnPermissions(String world) { return backendEntity.getPermissions(world); } @Override public String getOwnOption(String option, String world, String defaultValue) { return backendEntity.getOption(option, world, defaultValue); } @Override public Map<String, String> getOptions(String world) { return backendEntity.getOptions(world); } @Override public void save() { backendEntity.save(); } @Override protected void removeGroup() { backendEntity.remove(); } @Override public void setOption(String permission, String value, String world) { backendEntity.setOption(permission, value, world); clearMembersCache(); } @Override public void setPermissions(String[] permissions, String world) { backendEntity.setPermissions(permissions, world); clearMembersCache(); } }