com.ibm.passwordrules.standard
Class LengthConstraint

java.lang.Object
  |
  +--com.ibm.passwordrules.LexicalRule
        |
        +--com.ibm.passwordrules.standard.LengthConstraint
All Implemented Interfaces:
java.lang.Cloneable, Rule, java.io.Serializable

public class LengthConstraint
extends LexicalRule

This class implements built-in rule for restricting the length of a password.

See Also:
Serialized Form

Field Summary
static java.lang.String INCOMPATIBLE_LENGTH_RESTRICTIONS
          Constant representing a message key in a property file
static java.lang.String TOO_LONG
          Constant representing a message key in a property file
static java.lang.String TOO_SHORT
          Constant representing a message key in a property file
 
Fields inherited from class com.ibm.passwordrules.LexicalRule
DEFAULT_MAX_SEQUENTIAL_CHARACTERS, LOWER_CASE_ONLY, UPPER_CASE_ONLY
 
Constructor Summary
LengthConstraint()
          Default constructor.
LengthConstraint(int min, int max)
          The min must be smaller than max.
 
Method Summary
 void constrain(PasswordGenerator generator)
          Constrain the password generator to values we know are valid.
 int getMax()
          Return maximum value of the length constraint.
 int getMin()
          Return minimum length of the password.
 boolean join(Rule rule)
          Try to join the specified rule with this one.
 boolean validate(java.lang.String password, ValidationInfo validationInfo)
          Validate the given password using the given validation info.
 
Methods inherited from class com.ibm.passwordrules.LexicalRule
getParameter, setParameter, validateSafe
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TOO_SHORT

public static final java.lang.String TOO_SHORT
Constant representing a message key in a property file

See Also:
Constant Field Values

TOO_LONG

public static final java.lang.String TOO_LONG
Constant representing a message key in a property file

See Also:
Constant Field Values

INCOMPATIBLE_LENGTH_RESTRICTIONS

public static final java.lang.String INCOMPATIBLE_LENGTH_RESTRICTIONS
Constant representing a message key in a property file

See Also:
Constant Field Values
Constructor Detail

LengthConstraint

public LengthConstraint()
Default constructor.


LengthConstraint

public LengthConstraint(int min,
                        int max)
The min must be smaller than max.

Parameters:
min - Minimum length of the password.
max - Maximum length of the password.
Method Detail

getMax

public int getMax()
Return maximum value of the length constraint.

Returns:
int representing maximum value of the length constraint.

getMin

public int getMin()
Return minimum length of the password.

Returns:
int representing minimum length of the password.

constrain

public void constrain(PasswordGenerator generator)
Constrain the password generator to values we know are valid.

Specified by:
constrain in interface Rule
Overrides:
constrain in class LexicalRule
Parameters:
generator - including a character generator to be constrained.
Throws:
PasswordRulesRuntimeException - when minimum length is greater than the maximum allowed.

validate

public boolean validate(java.lang.String password,
                        ValidationInfo validationInfo)
                 throws InvalidPasswordException
Validate the given password using the given validation info.

Parameters:
validationInfo - contains contextual information about the password being validated.
password - Password to validate.
Returns:
always return true
Throws:
InvalidPasswordException - thrown when password is invalid.

join

public boolean join(Rule rule)
             throws IncompatibleRulesException
Try to join the specified rule with this one. The more restrictive rule takes precedence.

Parameters:
rule - The rule to be joined with this one.
Returns:
True if the rule was successfully joined.
Throws:
IncompatibleRulesException - Thrown when given rule cannot be joined because it is not compatible.


IBM Tivoli Identity Manager 4.6
© Copyright International Business Machines Corporation 2005. All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.