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.server; 028 029 030 031 import java.util.SortedSet; 032 import org.opends.server.admin.server.ConfigurationChangeListener; 033 import org.opends.server.types.AttributeType; 034 import org.opends.server.types.DN; 035 036 037 038 /** 039 * A server-side interface for querying Exact Match Identity Mapper 040 * settings. 041 * <p> 042 * The Exact Match Identity Mapper maps an identifier string to user 043 * entries by searching for the entry containing a specified attribute 044 * whose value is the provided identifier. For example, the username 045 * provided by the client for DIGEST-MD5 authentication must match the 046 * value of the uid attribute 047 */ 048 public interface ExactMatchIdentityMapperCfg extends IdentityMapperCfg { 049 050 /** 051 * Gets the configuration class associated with this Exact Match Identity Mapper. 052 * 053 * @return Returns the configuration class associated with this Exact Match Identity Mapper. 054 */ 055 Class<? extends ExactMatchIdentityMapperCfg> configurationClass(); 056 057 058 059 /** 060 * Register to be notified when this Exact Match Identity Mapper is changed. 061 * 062 * @param listener 063 * The Exact Match Identity Mapper configuration change listener. 064 */ 065 void addExactMatchChangeListener(ConfigurationChangeListener<ExactMatchIdentityMapperCfg> listener); 066 067 068 069 /** 070 * Deregister an existing Exact Match Identity Mapper configuration change listener. 071 * 072 * @param listener 073 * The Exact Match Identity Mapper configuration change listener. 074 */ 075 void removeExactMatchChangeListener(ConfigurationChangeListener<ExactMatchIdentityMapperCfg> listener); 076 077 078 079 /** 080 * Gets the "java-class" property. 081 * <p> 082 * Specifies the fully-qualified name of the Java class that 083 * provides the Exact Match Identity Mapper implementation. 084 * 085 * @return Returns the value of the "java-class" property. 086 */ 087 String getJavaClass(); 088 089 090 091 /** 092 * Gets the "match-attribute" property. 093 * <p> 094 * Specifies the attribute whose value should exactly match the ID 095 * string provided to this identity mapper. 096 * <p> 097 * At least one value must be provided. All values must refer to the 098 * name or OID of an attribute type defined in the Directory Server 099 * schema. If multiple attributes or OIDs are provided, at least one 100 * of those attributes must contain the provided ID string value in 101 * exactly one entry. The internal search performed includes a 102 * logical OR across all of these values. 103 * 104 * @return Returns an unmodifiable set containing the values of the "match-attribute" property. 105 */ 106 SortedSet<AttributeType> getMatchAttribute(); 107 108 109 110 /** 111 * Gets the "match-base-dn" property. 112 * <p> 113 * Specifies the set of base DNs below which to search for users. 114 * <p> 115 * The base DNs will be used when performing searches to map the 116 * provided ID string to a user entry. If multiple values are given, 117 * searches are performed below all specified base DNs. 118 * 119 * @return Returns an unmodifiable set containing the values of the "match-base-dn" property. 120 */ 121 SortedSet<DN> getMatchBaseDN(); 122 123 }