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.meta.PluginCfgDefn.PluginType; 035import org.opends.server.admin.std.server.PasswordPolicyImportPluginCfg; 036 037 038 039/** 040 * A client-side interface for reading and modifying Password Policy 041 * Import Plugin settings. 042 * <p> 043 * The Password Policy Import Plugin ensures that clear-text passwords 044 * contained in LDIF entries are properly encoded before they are 045 * stored in the appropriate directory server backend. 046 */ 047public interface PasswordPolicyImportPluginCfgClient extends PluginCfgClient { 048 049 /** 050 * Get the configuration definition associated with this Password Policy Import Plugin. 051 * 052 * @return Returns the configuration definition associated with this Password Policy Import Plugin. 053 */ 054 ManagedObjectDefinition<? extends PasswordPolicyImportPluginCfgClient, ? extends PasswordPolicyImportPluginCfg> definition(); 055 056 057 058 /** 059 * Gets the "default-auth-password-storage-scheme" property. 060 * <p> 061 * Specifies the names of password storage schemes that to be used 062 * for encoding passwords contained in attributes with the auth 063 * password syntax for entries that do not include the 064 * ds-pwp-password-policy-dn attribute specifying which password 065 * policy should be used to govern them. 066 * 067 * @return Returns the values of the "default-auth-password-storage-scheme" property. 068 */ 069 SortedSet<String> getDefaultAuthPasswordStorageScheme(); 070 071 072 073 /** 074 * Sets the "default-auth-password-storage-scheme" property. 075 * <p> 076 * Specifies the names of password storage schemes that to be used 077 * for encoding passwords contained in attributes with the auth 078 * password syntax for entries that do not include the 079 * ds-pwp-password-policy-dn attribute specifying which password 080 * policy should be used to govern them. 081 * 082 * @param values The values of the "default-auth-password-storage-scheme" property. 083 * @throws PropertyException 084 * If one or more of the new values are invalid. 085 */ 086 void setDefaultAuthPasswordStorageScheme(Collection<String> values) throws PropertyException; 087 088 089 090 /** 091 * Gets the "default-user-password-storage-scheme" property. 092 * <p> 093 * Specifies the names of the password storage schemes to be used 094 * for encoding passwords contained in attributes with the user 095 * password syntax for entries that do not include the 096 * ds-pwp-password-policy-dn attribute specifying which password 097 * policy is to be used to govern them. 098 * 099 * @return Returns the values of the "default-user-password-storage-scheme" property. 100 */ 101 SortedSet<String> getDefaultUserPasswordStorageScheme(); 102 103 104 105 /** 106 * Sets the "default-user-password-storage-scheme" property. 107 * <p> 108 * Specifies the names of the password storage schemes to be used 109 * for encoding passwords contained in attributes with the user 110 * password syntax for entries that do not include the 111 * ds-pwp-password-policy-dn attribute specifying which password 112 * policy is to be used to govern them. 113 * 114 * @param values The values of the "default-user-password-storage-scheme" property. 115 * @throws PropertyException 116 * If one or more of the new values are invalid. 117 */ 118 void setDefaultUserPasswordStorageScheme(Collection<String> values) throws PropertyException; 119 120 121 122 /** 123 * Gets the "invoke-for-internal-operations" property. 124 * <p> 125 * Indicates whether the plug-in should be invoked for internal 126 * operations. 127 * <p> 128 * Any plug-in that can be invoked for internal operations must 129 * ensure that it does not create any new internal operatons that can 130 * cause the same plug-in to be re-invoked. 131 * 132 * @return Returns the value of the "invoke-for-internal-operations" property. 133 */ 134 boolean isInvokeForInternalOperations(); 135 136 137 138 /** 139 * Sets the "invoke-for-internal-operations" property. 140 * <p> 141 * Indicates whether the plug-in should be invoked for internal 142 * operations. 143 * <p> 144 * Any plug-in that can be invoked for internal operations must 145 * ensure that it does not create any new internal operatons that can 146 * cause the same plug-in to be re-invoked. 147 * 148 * @param value The value of the "invoke-for-internal-operations" property. 149 * @throws PropertyException 150 * If the new value is invalid. 151 */ 152 void setInvokeForInternalOperations(Boolean value) throws PropertyException; 153 154 155 156 /** 157 * Gets the "java-class" property. 158 * <p> 159 * Specifies the fully-qualified name of the Java class that 160 * provides the plug-in implementation. 161 * 162 * @return Returns the value of the "java-class" property. 163 */ 164 String getJavaClass(); 165 166 167 168 /** 169 * Sets the "java-class" property. 170 * <p> 171 * Specifies the fully-qualified name of the Java class that 172 * provides the plug-in implementation. 173 * 174 * @param value The value of the "java-class" property. 175 * @throws PropertyException 176 * If the new value is invalid. 177 */ 178 void setJavaClass(String value) throws PropertyException; 179 180 181 182 /** 183 * Gets the "plugin-type" property. 184 * <p> 185 * Specifies the set of plug-in types for the plug-in, which 186 * specifies the times at which the plug-in is invoked. 187 * 188 * @return Returns the values of the "plugin-type" property. 189 */ 190 SortedSet<PluginType> getPluginType(); 191 192 193 194 /** 195 * Sets the "plugin-type" property. 196 * <p> 197 * Specifies the set of plug-in types for the plug-in, which 198 * specifies the times at which the plug-in is invoked. 199 * 200 * @param values The values of the "plugin-type" property. 201 * @throws PropertyException 202 * If one or more of the new values are invalid. 203 */ 204 void setPluginType(Collection<PluginType> values) throws PropertyException; 205 206}