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 010 * trunk/opends/resource/legal-notices/OpenDS.LICENSE 011 * or https://OpenDS.dev.java.net/OpenDS.LICENSE. 012 * See the License for the specific language governing permissions 013 * and limitations under the License. 014 * 015 * When distributing Covered Code, include this CDDL HEADER in each 016 * file and include the License file at 017 * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, 018 * add the following below this CDDL HEADER, with the fields enclosed 019 * by brackets "[]" replaced with your own identifying information: 020 * Portions Copyright [yyyy] [name of copyright owner] 021 * 022 * CDDL HEADER END 023 * 024 * 025 * Copyright 2008 Sun Microsystems, Inc. 026 */ 027 package org.opends.server.admin.std.client; 028 029 030 031 import java.util.Collection; 032 import java.util.SortedSet; 033 import org.opends.server.admin.IllegalPropertyValueException; 034 import org.opends.server.admin.ManagedObjectDefinition; 035 import org.opends.server.admin.std.server.ExactMatchIdentityMapperCfg; 036 import org.opends.server.types.AttributeType; 037 import org.opends.server.types.DN; 038 039 040 041 /** 042 * A client-side interface for reading and modifying Exact Match 043 * Identity Mapper settings. 044 * <p> 045 * The Exact Match Identity Mapper maps an identifier string to user 046 * entries by searching for the entry containing a specified attribute 047 * whose value is the provided identifier. For example, the username 048 * provided by the client for DIGEST-MD5 authentication must match the 049 * value of the uid attribute 050 */ 051 public interface ExactMatchIdentityMapperCfgClient extends IdentityMapperCfgClient { 052 053 /** 054 * Get the configuration definition associated with this Exact Match Identity Mapper. 055 * 056 * @return Returns the configuration definition associated with this Exact Match Identity Mapper. 057 */ 058 ManagedObjectDefinition<? extends ExactMatchIdentityMapperCfgClient, ? extends ExactMatchIdentityMapperCfg> definition(); 059 060 061 062 /** 063 * Gets the "java-class" property. 064 * <p> 065 * Specifies the fully-qualified name of the Java class that 066 * provides the Exact Match Identity Mapper implementation. 067 * 068 * @return Returns the value of the "java-class" property. 069 */ 070 String getJavaClass(); 071 072 073 074 /** 075 * Sets the "java-class" property. 076 * <p> 077 * Specifies the fully-qualified name of the Java class that 078 * provides the Exact Match Identity Mapper implementation. 079 * 080 * @param value The value of the "java-class" property. 081 * @throws IllegalPropertyValueException 082 * If the new value is invalid. 083 */ 084 void setJavaClass(String value) throws IllegalPropertyValueException; 085 086 087 088 /** 089 * Gets the "match-attribute" property. 090 * <p> 091 * Specifies the attribute whose value should exactly match the ID 092 * string provided to this identity mapper. 093 * <p> 094 * At least one value must be provided. All values must refer to the 095 * name or OID of an attribute type defined in the Directory Server 096 * schema. If multiple attributes or OIDs are provided, at least one 097 * of those attributes must contain the provided ID string value in 098 * exactly one entry. The internal search performed includes a 099 * logical OR across all of these values. 100 * 101 * @return Returns the values of the "match-attribute" property. 102 */ 103 SortedSet<AttributeType> getMatchAttribute(); 104 105 106 107 /** 108 * Sets the "match-attribute" property. 109 * <p> 110 * Specifies the attribute whose value should exactly match the ID 111 * string provided to this identity mapper. 112 * <p> 113 * At least one value must be provided. All values must refer to the 114 * name or OID of an attribute type defined in the Directory Server 115 * schema. If multiple attributes or OIDs are provided, at least one 116 * of those attributes must contain the provided ID string value in 117 * exactly one entry. The internal search performed includes a 118 * logical OR across all of these values. 119 * 120 * @param values The values of the "match-attribute" property. 121 * @throws IllegalPropertyValueException 122 * If one or more of the new values are invalid. 123 */ 124 void setMatchAttribute(Collection<AttributeType> values) throws IllegalPropertyValueException; 125 126 127 128 /** 129 * Gets the "match-base-dn" property. 130 * <p> 131 * Specifies the set of base DNs below which to search for users. 132 * <p> 133 * The base DNs will be used when performing searches to map the 134 * provided ID string to a user entry. If multiple values are given, 135 * searches are performed below all specified base DNs. 136 * 137 * @return Returns the values of the "match-base-dn" property. 138 */ 139 SortedSet<DN> getMatchBaseDN(); 140 141 142 143 /** 144 * Sets the "match-base-dn" property. 145 * <p> 146 * Specifies the set of base DNs below which to search for users. 147 * <p> 148 * The base DNs will be used when performing searches to map the 149 * provided ID string to a user entry. If multiple values are given, 150 * searches are performed below all specified base DNs. 151 * 152 * @param values The values of the "match-base-dn" property. 153 * @throws IllegalPropertyValueException 154 * If one or more of the new values are invalid. 155 */ 156 void setMatchBaseDN(Collection<DN> values) throws IllegalPropertyValueException; 157 158 }