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