com.ibm.passwordrules
Class BehavioralRule

java.lang.Object
  |
  +--com.ibm.passwordrules.BehavioralRule
All Implemented Interfaces:
java.lang.Cloneable, Rule, java.io.Serializable
Direct Known Subclasses:
NotInDictionary, NotRepeated, NotReversed, NotUserID, NotUserIDCaseInsensitive, NotUserName, NotUserNameCaseInsensitive, ValidityTimeConstraint

public abstract class BehavioralRule
extends java.lang.Object
implements Rule, java.lang.Cloneable, java.io.Serializable

Represents a restriction on the behavior of a password. Is usually history based.

See Also:
Serialized Form

Constructor Summary
BehavioralRule()
           
 
Method Summary
 void constrain(PasswordGenerator generator)
          Some Rule implementing classes will not have a constraint to impose, in which case method in this class will be called and will do nothing.
 java.lang.String getParameter()
          This Rule interface method in is not valid in the context of standard rule classes.
 boolean join(Rule rule)
          Try to join the specified rule with this one.
 void setParameter(java.lang.String parameter)
          This Rule interface method in is not valid in the context of standard rule classes.
 boolean validate(java.lang.String password, ValidationInfo validationInfo)
          Validate the given password using the given validation info.
 boolean validateSafe(java.lang.String password, ValidationInfo validationInfo)
          Validate the given password using the given validation info.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BehavioralRule

public BehavioralRule()
Method Detail

validate

public boolean validate(java.lang.String password,
                        ValidationInfo validationInfo)
                 throws InvalidPasswordException
Validate the given password using the given validation info. Method overriden by subclass if validate operation supported.
Specified by:
validate in interface Rule
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. Method overriden by subclass if join operation supported.
Specified by:
join in interface Rule
Parameters:
rule - The rule to be joined with this one.
Returns:
always return false
Throws:
IncompatibleRulesException - Thrown when given rule cannot be joined because it is not compatible.

constrain

public void constrain(PasswordGenerator generator)
Some Rule implementing classes will not have a constraint to impose, in which case method in this class will be called and will do nothing.
Specified by:
constrain in interface Rule
Parameters:
generator - including a character template to be constrained.

validateSafe

public boolean validateSafe(java.lang.String password,
                            ValidationInfo validationInfo)
Validate the given password using the given validation info. This version will never throw an exception, but will return false if the password is invalid. It is not possible to get any more information about why the password failed when using this version.
Specified by:
validateSafe in interface Rule
Parameters:
validationInfo - contains contextual information about the password being validated.
password - Password to validate.
Returns:
true if password is valid - false it isn't

getParameter

public java.lang.String getParameter()
This Rule interface method in is not valid in the context of standard rule classes. Each standard rule class has its own method for getting constraining parameter value.
Specified by:
getParameter in interface Rule
Following copied from interface: com.ibm.passwordrules.Rule
Returns:
parameter String representing the constraining parameter

setParameter

public void setParameter(java.lang.String parameter)
This Rule interface method in is not valid in the context of standard rule classes. Each standard rule class has its own method for setting constraining parameter value.
Specified by:
setParameter in interface Rule
Following copied from interface: com.ibm.passwordrules.Rule
Parameters:
parameter - String representing the constraining parameter