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 org.opends.server.admin.ManagedObjectDefinition; 031import org.opends.server.admin.PropertyException; 032import org.opends.server.admin.std.server.UniqueCharactersPasswordValidatorCfg; 033 034 035 036/** 037 * A client-side interface for reading and modifying Unique Characters 038 * Password Validator settings. 039 * <p> 040 * The Unique Characters Password Validator is used to determine 041 * whether a proposed password is acceptable based on the number of 042 * unique characters that it contains. 043 */ 044public interface UniqueCharactersPasswordValidatorCfgClient extends PasswordValidatorCfgClient { 045 046 /** 047 * Get the configuration definition associated with this Unique Characters Password Validator. 048 * 049 * @return Returns the configuration definition associated with this Unique Characters Password Validator. 050 */ 051 ManagedObjectDefinition<? extends UniqueCharactersPasswordValidatorCfgClient, ? extends UniqueCharactersPasswordValidatorCfg> definition(); 052 053 054 055 /** 056 * Gets the "case-sensitive-validation" property. 057 * <p> 058 * Indicates whether this password validator should treat password 059 * characters in a case-sensitive manner. 060 * <p> 061 * A value of true indicates that the validator does not consider a 062 * capital letter to be the same as its lower-case counterpart. A 063 * value of false indicates that the validator ignores differences in 064 * capitalization when looking at the number of unique characters in 065 * the password. 066 * 067 * @return Returns the value of the "case-sensitive-validation" property. 068 */ 069 Boolean isCaseSensitiveValidation(); 070 071 072 073 /** 074 * Sets the "case-sensitive-validation" property. 075 * <p> 076 * Indicates whether this password validator should treat password 077 * characters in a case-sensitive manner. 078 * <p> 079 * A value of true indicates that the validator does not consider a 080 * capital letter to be the same as its lower-case counterpart. A 081 * value of false indicates that the validator ignores differences in 082 * capitalization when looking at the number of unique characters in 083 * the password. 084 * 085 * @param value The value of the "case-sensitive-validation" property. 086 * @throws PropertyException 087 * If the new value is invalid. 088 */ 089 void setCaseSensitiveValidation(boolean value) throws PropertyException; 090 091 092 093 /** 094 * Gets the "java-class" property. 095 * <p> 096 * Specifies the fully-qualified name of the Java class that 097 * provides the password validator implementation. 098 * 099 * @return Returns the value of the "java-class" property. 100 */ 101 String getJavaClass(); 102 103 104 105 /** 106 * Sets the "java-class" property. 107 * <p> 108 * Specifies the fully-qualified name of the Java class that 109 * provides the password validator implementation. 110 * 111 * @param value The value of the "java-class" property. 112 * @throws PropertyException 113 * If the new value is invalid. 114 */ 115 void setJavaClass(String value) throws PropertyException; 116 117 118 119 /** 120 * Gets the "min-unique-characters" property. 121 * <p> 122 * Specifies the minimum number of unique characters that a password 123 * will be allowed to contain. 124 * <p> 125 * A value of zero indicates that no minimum value is enforced. 126 * 127 * @return Returns the value of the "min-unique-characters" property. 128 */ 129 Integer getMinUniqueCharacters(); 130 131 132 133 /** 134 * Sets the "min-unique-characters" property. 135 * <p> 136 * Specifies the minimum number of unique characters that a password 137 * will be allowed to contain. 138 * <p> 139 * A value of zero indicates that no minimum value is enforced. 140 * 141 * @param value The value of the "min-unique-characters" property. 142 * @throws PropertyException 143 * If the new value is invalid. 144 */ 145 void setMinUniqueCharacters(int value) throws PropertyException; 146 147}