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 java.util.Collection; 032 import java.util.SortedSet; 033 import org.opends.server.admin.IllegalPropertyValueException; 034 import org.opends.server.admin.ManagedObjectDefinition; 035 import org.opends.server.admin.std.server.AttributeValuePasswordValidatorCfg; 036 import org.opends.server.types.AttributeType; 037 038 039 040 /** 041 * A client-side interface for reading and modifying Attribute Value 042 * Password Validator settings. 043 * <p> 044 * The Attribute Value Password Validator attempts to determine 045 * whether a proposed password is acceptable for use by determining 046 * whether that password is contained in any attribute within the 047 * user's entry. 048 */ 049 public interface AttributeValuePasswordValidatorCfgClient extends PasswordValidatorCfgClient { 050 051 /** 052 * Get the configuration definition associated with this Attribute Value Password Validator. 053 * 054 * @return Returns the configuration definition associated with this Attribute Value Password Validator. 055 */ 056 ManagedObjectDefinition<? extends AttributeValuePasswordValidatorCfgClient, ? extends AttributeValuePasswordValidatorCfg> definition(); 057 058 059 060 /** 061 * Gets the "java-class" property. 062 * <p> 063 * Specifies the fully-qualified name of the Java class that 064 * provides the password validator implementation. 065 * 066 * @return Returns the value of the "java-class" property. 067 */ 068 String getJavaClass(); 069 070 071 072 /** 073 * Sets the "java-class" property. 074 * <p> 075 * Specifies the fully-qualified name of the Java class that 076 * provides the password validator implementation. 077 * 078 * @param value The value of the "java-class" property. 079 * @throws IllegalPropertyValueException 080 * If the new value is invalid. 081 */ 082 void setJavaClass(String value) throws IllegalPropertyValueException; 083 084 085 086 /** 087 * Gets the "match-attribute" property. 088 * <p> 089 * Specifies the name(s) of the attribute(s) whose values should be 090 * checked to determine whether they match the provided password. If 091 * no values are provided, then the server checks if the proposed 092 * password matches the value of any attribute in the user's entry. 093 * 094 * @return Returns the values of the "match-attribute" property. 095 */ 096 SortedSet<AttributeType> getMatchAttribute(); 097 098 099 100 /** 101 * Sets the "match-attribute" property. 102 * <p> 103 * Specifies the name(s) of the attribute(s) whose values should be 104 * checked to determine whether they match the provided password. If 105 * no values are provided, then the server checks if the proposed 106 * password matches the value of any attribute in the user's entry. 107 * 108 * @param values The values of the "match-attribute" property. 109 * @throws IllegalPropertyValueException 110 * If one or more of the new values are invalid. 111 */ 112 void setMatchAttribute(Collection<AttributeType> values) throws IllegalPropertyValueException; 113 114 115 116 /** 117 * Gets the "test-reversed-password" property. 118 * <p> 119 * Indicates whether this password validator should test the 120 * reversed value of the provided password as well as the order in 121 * which it was given. 122 * 123 * @return Returns the value of the "test-reversed-password" property. 124 */ 125 Boolean isTestReversedPassword(); 126 127 128 129 /** 130 * Sets the "test-reversed-password" property. 131 * <p> 132 * Indicates whether this password validator should test the 133 * reversed value of the provided password as well as the order in 134 * which it was given. 135 * 136 * @param value The value of the "test-reversed-password" property. 137 * @throws IllegalPropertyValueException 138 * If the new value is invalid. 139 */ 140 void setTestReversedPassword(boolean value) throws IllegalPropertyValueException; 141 142 }