package com.psddev.cms.tool;
import com.psddev.dari.util.Settings;
import com.psddev.dari.util.SettingsBackedObject;
public interface ToolPermissionProvider extends SettingsBackedObject {
/** Setting key for default permission provider . */
String DEFAULT_SETTING_KEY = "cms/tool/defaultPermissionProvider";
/** Setting key for permission provider configuration. */
String SETTING_KEY = "cms/tool/permissionProvider";
/** Get the configured permission provider. */
static ToolPermissionProvider getDefault() {
String defaultPermissionProvider = Settings.get(String.class, DEFAULT_SETTING_KEY);
return defaultPermissionProvider == null ? null
: Settings.newInstance(ToolPermissionProvider.class, SETTING_KEY + '/' + defaultPermissionProvider);
}
/** Called by ToolPageContext#hasPermission, so do NOT execute that method within this method. */
boolean hasPermission(ToolPageContext page, String permissionId);
}