001/* 002 * CDDL HEADER START 003 * 004 * The contents of this file are subject to the terms of the 005 * Common Development and Distribution License, Version 1.0 only 006 * (the "License"). You may not use this file except in compliance 007 * with the License. 008 * 009 * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt 010 * or http://forgerock.org/license/CDDLv1.0.html. 011 * See the License for the specific language governing permissions 012 * and limitations under the License. 013 * 014 * When distributing Covered Code, include this CDDL HEADER in each 015 * file and include the License file at legal-notices/CDDLv1_0.txt. 016 * If applicable, add the following below this CDDL HEADER, with the 017 * fields enclosed by brackets "[]" replaced with your own identifying 018 * information: 019 * Portions Copyright [yyyy] [name of copyright owner] 020 * 021 * CDDL HEADER END 022 * 023 * 024 * Copyright 2008 Sun Microsystems, Inc. 025 */ 026package org.opends.server.admin.std.client; 027 028 029 030import org.opends.server.admin.ConfigurationClient; 031import org.opends.server.admin.ManagedObjectDefinition; 032import org.opends.server.admin.PropertyException; 033import org.opends.server.admin.std.server.AccessControlHandlerCfg; 034 035 036 037/** 038 * A client-side interface for reading and modifying Access Control 039 * Handler settings. 040 * <p> 041 * Access Control Handlers manage the application-wide access control. 042 * The OpenDJ access control handler is defined through an extensible 043 * interface, so that alternate implementations can be created. Only 044 * one access control handler may be active in the server at any given 045 * time. 046 */ 047public interface AccessControlHandlerCfgClient extends ConfigurationClient { 048 049 /** 050 * Get the configuration definition associated with this Access Control Handler. 051 * 052 * @return Returns the configuration definition associated with this Access Control Handler. 053 */ 054 ManagedObjectDefinition<? extends AccessControlHandlerCfgClient, ? extends AccessControlHandlerCfg> definition(); 055 056 057 058 /** 059 * Gets the "enabled" property. 060 * <p> 061 * Indicates whether the Access Control Handler is enabled. If set 062 * to FALSE, then no access control is enforced, and any client 063 * (including unauthenticated or anonymous clients) could be allowed 064 * to perform any operation if not subject to other restrictions, 065 * such as those enforced by the privilege subsystem. 066 * 067 * @return Returns the value of the "enabled" property. 068 */ 069 Boolean isEnabled(); 070 071 072 073 /** 074 * Sets the "enabled" property. 075 * <p> 076 * Indicates whether the Access Control Handler is enabled. If set 077 * to FALSE, then no access control is enforced, and any client 078 * (including unauthenticated or anonymous clients) could be allowed 079 * to perform any operation if not subject to other restrictions, 080 * such as those enforced by the privilege subsystem. 081 * 082 * @param value The value of the "enabled" property. 083 * @throws PropertyException 084 * If the new value is invalid. 085 */ 086 void setEnabled(boolean value) throws PropertyException; 087 088 089 090 /** 091 * Gets the "java-class" property. 092 * <p> 093 * Specifies the fully-qualified name of the Java class that 094 * provides the Access Control Handler implementation. 095 * 096 * @return Returns the value of the "java-class" property. 097 */ 098 String getJavaClass(); 099 100 101 102 /** 103 * Sets the "java-class" property. 104 * <p> 105 * Specifies the fully-qualified name of the Java class that 106 * provides the Access Control Handler implementation. 107 * 108 * @param value The value of the "java-class" property. 109 * @throws PropertyException 110 * If the new value is invalid. 111 */ 112 void setJavaClass(String value) throws PropertyException; 113 114}