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 java.util.Collection; 031import java.util.SortedSet; 032import org.opends.server.admin.ManagedObjectDefinition; 033import org.opends.server.admin.PropertyException; 034import org.opends.server.admin.std.server.ExactMatchIdentityMapperCfg; 035import org.opends.server.types.AttributeType; 036import org.opends.server.types.DN; 037 038 039 040/** 041 * A client-side interface for reading and modifying Exact Match 042 * Identity Mapper settings. 043 * <p> 044 * The Exact Match Identity Mapper maps an identifier string to user 045 * entries by searching for the entry containing a specified attribute 046 * whose value is the provided identifier. For example, the username 047 * provided by the client for DIGEST-MD5 authentication must match the 048 * value of the uid attribute 049 */ 050public interface ExactMatchIdentityMapperCfgClient extends IdentityMapperCfgClient { 051 052 /** 053 * Get the configuration definition associated with this Exact Match Identity Mapper. 054 * 055 * @return Returns the configuration definition associated with this Exact Match Identity Mapper. 056 */ 057 ManagedObjectDefinition<? extends ExactMatchIdentityMapperCfgClient, ? extends ExactMatchIdentityMapperCfg> definition(); 058 059 060 061 /** 062 * Gets the "java-class" property. 063 * <p> 064 * Specifies the fully-qualified name of the Java class that 065 * provides the Exact Match Identity Mapper implementation. 066 * 067 * @return Returns the value of the "java-class" property. 068 */ 069 String getJavaClass(); 070 071 072 073 /** 074 * Sets the "java-class" property. 075 * <p> 076 * Specifies the fully-qualified name of the Java class that 077 * provides the Exact Match Identity Mapper implementation. 078 * 079 * @param value The value of the "java-class" property. 080 * @throws PropertyException 081 * If the new value is invalid. 082 */ 083 void setJavaClass(String value) throws PropertyException; 084 085 086 087 /** 088 * Gets the "match-attribute" property. 089 * <p> 090 * Specifies the attribute whose value should exactly match the ID 091 * string provided to this identity mapper. 092 * <p> 093 * At least one value must be provided. All values must refer to the 094 * name or OID of an attribute type defined in the directory server 095 * schema. If multiple attributes or OIDs are provided, at least one 096 * of those attributes must contain the provided ID string value in 097 * exactly one entry. The internal search performed includes a 098 * logical OR across all of these values. 099 * 100 * @return Returns the values of the "match-attribute" property. 101 */ 102 SortedSet<AttributeType> getMatchAttribute(); 103 104 105 106 /** 107 * Sets the "match-attribute" property. 108 * <p> 109 * Specifies the attribute whose value should exactly match the ID 110 * string provided to this identity mapper. 111 * <p> 112 * At least one value must be provided. All values must refer to the 113 * name or OID of an attribute type defined in the directory server 114 * schema. If multiple attributes or OIDs are provided, at least one 115 * of those attributes must contain the provided ID string value in 116 * exactly one entry. The internal search performed includes a 117 * logical OR across all of these values. 118 * 119 * @param values The values of the "match-attribute" property. 120 * @throws PropertyException 121 * If one or more of the new values are invalid. 122 */ 123 void setMatchAttribute(Collection<AttributeType> values) throws PropertyException; 124 125 126 127 /** 128 * Gets the "match-base-dn" property. 129 * <p> 130 * Specifies the set of base DNs below which to search for users. 131 * <p> 132 * The base DNs will be used when performing searches to map the 133 * provided ID string to a user entry. If multiple values are given, 134 * searches are performed below all specified base DNs. 135 * 136 * @return Returns the values of the "match-base-dn" property. 137 */ 138 SortedSet<DN> getMatchBaseDN(); 139 140 141 142 /** 143 * Sets the "match-base-dn" property. 144 * <p> 145 * Specifies the set of base DNs below which to search for users. 146 * <p> 147 * The base DNs will be used when performing searches to map the 148 * provided ID string to a user entry. If multiple values are given, 149 * searches are performed below all specified base DNs. 150 * 151 * @param values The values of the "match-base-dn" property. 152 * @throws PropertyException 153 * If one or more of the new values are invalid. 154 */ 155 void setMatchBaseDN(Collection<DN> values) throws PropertyException; 156 157}