001/* 002 * The contents of this file are subject to the terms of the Common Development and 003 * Distribution License (the License). You may not use this file except in compliance with the 004 * License. 005 * 006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the 007 * specific language governing permission and limitations under the License. 008 * 009 * When distributing Covered Software, include this CDDL Header Notice in each file and include 010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL 011 * Header, with the fields enclosed by brackets [] replaced by your own identifying 012 * information: "Portions Copyright [year] [name of copyright owner]". 013 * 014 * Copyright 2008 Sun Microsystems, Inc. 015 */ 016package org.forgerock.opendj.server.config.server; 017 018 019 020import java.util.SortedSet; 021import org.forgerock.opendj.config.server.ConfigurationChangeListener; 022import org.forgerock.opendj.ldap.DN; 023import org.forgerock.opendj.server.config.meta.PluginCfgDefn.PluginType; 024 025 026 027/** 028 * A server-side interface for querying Password Policy Import Plugin 029 * settings. 030 * <p> 031 * The Password Policy Import Plugin ensures that clear-text passwords 032 * contained in LDIF entries are properly encoded before they are 033 * stored in the appropriate directory server backend. 034 */ 035public interface PasswordPolicyImportPluginCfg extends PluginCfg { 036 037 /** 038 * Gets the configuration class associated with this Password Policy Import Plugin. 039 * 040 * @return Returns the configuration class associated with this Password Policy Import Plugin. 041 */ 042 Class<? extends PasswordPolicyImportPluginCfg> configurationClass(); 043 044 045 046 /** 047 * Register to be notified when this Password Policy Import Plugin is changed. 048 * 049 * @param listener 050 * The Password Policy Import Plugin configuration change listener. 051 */ 052 void addPasswordPolicyImportChangeListener(ConfigurationChangeListener<PasswordPolicyImportPluginCfg> listener); 053 054 055 056 /** 057 * Deregister an existing Password Policy Import Plugin configuration change listener. 058 * 059 * @param listener 060 * The Password Policy Import Plugin configuration change listener. 061 */ 062 void removePasswordPolicyImportChangeListener(ConfigurationChangeListener<PasswordPolicyImportPluginCfg> listener); 063 064 065 066 /** 067 * Gets the "default-auth-password-storage-scheme" property. 068 * <p> 069 * Specifies the names of password storage schemes that to be used 070 * for encoding passwords contained in attributes with the auth 071 * password syntax for entries that do not include the 072 * ds-pwp-password-policy-dn attribute specifying which password 073 * policy should be used to govern them. 074 * 075 * @return Returns an unmodifiable set containing the values of the "default-auth-password-storage-scheme" property. 076 */ 077 SortedSet<String> getDefaultAuthPasswordStorageScheme(); 078 079 080 081 /** 082 * Gets the "default-auth-password-storage-scheme" property as a set 083 * of DNs. 084 * <p> 085 * Specifies the names of password storage schemes that to be used 086 * for encoding passwords contained in attributes with the auth 087 * password syntax for entries that do not include the 088 * ds-pwp-password-policy-dn attribute specifying which password 089 * policy should be used to govern them. 090 * 091 * @return Returns the DN values of the 092 * "default-auth-password-storage-scheme" property. 093 */ 094 SortedSet<DN> getDefaultAuthPasswordStorageSchemeDNs(); 095 096 097 098 /** 099 * Gets the "default-user-password-storage-scheme" property. 100 * <p> 101 * Specifies the names of the password storage schemes to be used 102 * for encoding passwords contained in attributes with the user 103 * password syntax for entries that do not include the 104 * ds-pwp-password-policy-dn attribute specifying which password 105 * policy is to be used to govern them. 106 * 107 * @return Returns an unmodifiable set containing the values of the "default-user-password-storage-scheme" property. 108 */ 109 SortedSet<String> getDefaultUserPasswordStorageScheme(); 110 111 112 113 /** 114 * Gets the "default-user-password-storage-scheme" property as a set 115 * of DNs. 116 * <p> 117 * Specifies the names of the password storage schemes to be used 118 * for encoding passwords contained in attributes with the user 119 * password syntax for entries that do not include the 120 * ds-pwp-password-policy-dn attribute specifying which password 121 * policy is to be used to govern them. 122 * 123 * @return Returns the DN values of the 124 * "default-user-password-storage-scheme" property. 125 */ 126 SortedSet<DN> getDefaultUserPasswordStorageSchemeDNs(); 127 128 129 130 /** 131 * Gets the "invoke-for-internal-operations" property. 132 * <p> 133 * Indicates whether the plug-in should be invoked for internal 134 * operations. 135 * <p> 136 * Any plug-in that can be invoked for internal operations must 137 * ensure that it does not create any new internal operatons that can 138 * cause the same plug-in to be re-invoked. 139 * 140 * @return Returns the value of the "invoke-for-internal-operations" property. 141 */ 142 boolean isInvokeForInternalOperations(); 143 144 145 146 /** 147 * Gets the "java-class" property. 148 * <p> 149 * Specifies the fully-qualified name of the Java class that 150 * provides the plug-in implementation. 151 * 152 * @return Returns the value of the "java-class" property. 153 */ 154 String getJavaClass(); 155 156 157 158 /** 159 * Gets the "plugin-type" property. 160 * <p> 161 * Specifies the set of plug-in types for the plug-in, which 162 * specifies the times at which the plug-in is invoked. 163 * 164 * @return Returns an unmodifiable set containing the values of the "plugin-type" property. 165 */ 166 SortedSet<PluginType> getPluginType(); 167 168}