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