com.unboundid.scim2.extension.messages.pwdmgmt.AccountState Maven / Gradle / Ivy
/*
* Copyright 2015-2019 Ping Identity Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License (GPLv2 only)
* or the terms of the GNU Lesser General Public License (LGPLv2.1 only)
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see .
*/
package com.unboundid.scim2.extension.messages.pwdmgmt;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.unboundid.scim2.common.utils.JsonRefBeanSerializer;
import com.unboundid.scim2.common.types.JsonReference;
import com.unboundid.scim2.common.types.AttributeDefinition;
import com.unboundid.scim2.common.BaseScimResource;
import com.unboundid.scim2.common.annotations.Schema;
import com.unboundid.scim2.common.annotations.Attribute;
import java.util.Calendar;
import java.util.List;
/**
* This object contains all of the information about the account state.
* The individual properties are stored as JsonReference objects so that
* the server can tell if the client set a value or not, even if the value
* was set to "{@code null}". The custom serializer will not serialize any
* properties that were not set. If the property was set to "{@code null}" however (or
* any other value), it will be included in the json string. Then on the server
* side, this object gets deserialized into a generic scim object. That object
* will not include values that were not in the json string allowing the
* server to tell the difference between "{@code null}" and not present.
*/
@JsonSerialize(using = JsonRefBeanSerializer.class)
@Schema(id="urn:pingidentity:schemas:2.0:AccountState", name="AccountState",
description = "Account state is used to retrieve and update the user's " +
"account state.")
public class AccountState extends BaseScimResource
{
@Attribute(description = "True if the account is disabled, or false if " +
"not. Set to null to clear.")
private JsonReference accountDisabled;
@Attribute(description = "Time of account expiration. Set to null " +
"to clear.")
private JsonReference accountExpirationTime;
@Attribute(description = "Seconds until account is expired.",
mutability = AttributeDefinition.Mutability.READ_ONLY)
private JsonReference secondsUntilAccountExpiration;
@Attribute(description = "Password changed time. Set to null to clear.")
private JsonReference passwordChangedTime;
@Attribute(description = "Password expiration warned time. Set to null " +
"to clear.")
private JsonReference passwordExpirationWarnedTime;
@Attribute(description = "Seconds until password will expire.",
mutability = AttributeDefinition.Mutability.READ_ONLY)
private JsonReference secondsUntilPasswordExpiration;
@Attribute(description = "Seconds until password expiration warning.",
mutability = AttributeDefinition.Mutability.READ_ONLY)
private JsonReference secondsUntilPasswordExpirationWarning;
@Attribute(description = "Times of previous authenticationFailures.",
mutability = AttributeDefinition.Mutability.READ_WRITE,
multiValueClass = Calendar.class)
private JsonReference> authenticationFailureTimes;
@Attribute(description = "Seconds until authentication failure unlock.",
mutability = AttributeDefinition.Mutability.READ_ONLY)
private JsonReference secondsUntilAuthenticationFailureUnlock;
@Attribute(description = "Remaining authentication failure count.",
mutability = AttributeDefinition.Mutability.READ_ONLY)
private JsonReference remainingAuthenticationFailureCount;
@Attribute(description = "Last login time. Set to null to clear.")
private JsonReference lastLoginTime;
@Attribute(description = "Seconds until idle lockout.",
mutability = AttributeDefinition.Mutability.READ_ONLY)
private JsonReference secondsUntilIdleLockout;
@Attribute(description = "Must change password.")
private JsonReference mustChangePassword;
@Attribute(description = "Seconds until password reset lockout.",
mutability = AttributeDefinition.Mutability.READ_ONLY)
private JsonReference secondsUntilPasswordResetLockout;
@Attribute(description = "Times of previous grace logins.",
mutability = AttributeDefinition.Mutability.READ_WRITE,
multiValueClass = Calendar.class)
private JsonReference> graceLoginTimes;
@Attribute(description = "Remaining grace login count.",
mutability = AttributeDefinition.Mutability.READ_ONLY)
private JsonReference remainingGraceLoginCount;
@Attribute(description = "Password change by required time. Set to null " +
"to clear.",
mutability = AttributeDefinition.Mutability.READ_WRITE)
private JsonReference passwordChangedByRequiredTime;
@Attribute(description = "Seconds until require change time.",
mutability = AttributeDefinition.Mutability.READ_ONLY)
private JsonReference secondsUntilRequiredChangeTime;
@Attribute(description = "Password history. Set to null to clear.",
mutability = AttributeDefinition.Mutability.READ_WRITE,
multiValueClass = String.class)
private JsonReference> passwordHistory;
@Attribute(description = "Retired password information.",
mutability = AttributeDefinition.Mutability.READ_WRITE)
private JsonReference retiredPassword;
@Attribute(description = "Time of account activation. Set to null to clear.",
mutability = AttributeDefinition.Mutability.READ_WRITE)
private JsonReference accountActivationTime;
@Attribute(description = "Seconds until account is activated.",
mutability = AttributeDefinition.Mutability.READ_ONLY)
private JsonReference secondsUntilAccountActivation;
@Attribute(description = "Last login IP address. Set to null to clear.",
mutability = AttributeDefinition.Mutability.READ_WRITE)
private JsonReference lastLoginIpAddress;
@Attribute(description = "Account usability notices.",
mutability = AttributeDefinition.Mutability.READ_ONLY,
multiValueClass = AccountUsabilityIssue.class)
private JsonReference> accountUsabilityNotices;
@Attribute(description = "Account usability warnings.",
mutability = AttributeDefinition.Mutability.READ_ONLY,
multiValueClass = AccountUsabilityIssue.class)
private JsonReference> accountUsabilityWarnings;
@Attribute(description = "Account usability errors.",
mutability = AttributeDefinition.Mutability.READ_ONLY,
multiValueClass = AccountUsabilityIssue.class)
private JsonReference> accountUsabilityErrors;
/**
* Gets a boolean indicating whether or not the account is disabled.
*
* @return a boolean indicating whether or not the account is disabled.
*/
public Boolean isAccountDisabled()
{
return (accountDisabled == null) ? null : accountDisabled.getObj();
}
/**
* Sets a boolean indicating whether or not the account is disabled.
*
* @param accountDisabled a boolean indicating whether or not the account
* is disabled.
*/
public void setAccountDisabled(final Boolean accountDisabled)
{
this.accountDisabled = new JsonReference(accountDisabled);
}
/**
* Gets the account expiration time.
*
* @return the account expiration time.
*/
public Calendar getAccountExpirationTime()
{
return (accountExpirationTime == null) ?
null : accountExpirationTime.getObj();
}
/**
* Sets the account expiration time.
*
* @param accountExpirationTime the account expiration time.
*/
public void setAccountExpirationTime(
final Calendar accountExpirationTime)
{
this.accountExpirationTime =
new JsonReference(accountExpirationTime);
}
/**
* Gets the seconds until the account expires.
*
* @return the seconds until the account expires.
*/
public Long getSecondsUntilAccountExpiration()
{
return (secondsUntilAccountExpiration == null) ?
null : secondsUntilAccountExpiration.getObj();
}
/**
* Sets the seconds until the account expires.
*
* @param secondsUntilAccountExpiration the seconds until the account expires.
*/
private void setSecondsUntilAccountExpiration(
final Long secondsUntilAccountExpiration)
{
this.secondsUntilAccountExpiration =
new JsonReference(secondsUntilAccountExpiration);
}
/**
* Gets the password changed time.
*
* @return the password changed time.
*/
public Calendar getPasswordChangedTime()
{
return (passwordChangedTime == null) ? null : passwordChangedTime.getObj();
}
/**
* Sets the password changed time.
*
* @param passwordChangedTime the password changed time.
*/
public void setPasswordChangedTime(final Calendar passwordChangedTime)
{
this.passwordChangedTime = new JsonReference(passwordChangedTime);
}
/**
* Gets the password expiration warned time.
*
* @return the password expiration warned time.
*/
public Calendar getPasswordExpirationWarnedTime()
{
return (passwordExpirationWarnedTime == null) ?
null : passwordExpirationWarnedTime.getObj();
}
/**
* Sets the password expiration warned time.
*
* @param passwordExpirationWarnedTime the passwordExpiration warned time.
*/
public void setPasswordExpirationWarnedTime(
final Calendar passwordExpirationWarnedTime)
{
this.passwordExpirationWarnedTime =
new JsonReference(passwordExpirationWarnedTime);
}
/**
* Gets the seconds until password expiration.
*
* @return the seconds until password expiration.
*/
public Long getSecondsUntilPasswordExpiration()
{
return (secondsUntilPasswordExpiration == null) ?
null : secondsUntilPasswordExpiration.getObj();
}
/**
* Sets the seconds until password expiration.
*
* @param secondsUntilPasswordExpiration the seconds until
* password expiration.
*/
private void setSecondsUntilPasswordExpiration(
final Long secondsUntilPasswordExpiration)
{
this.secondsUntilPasswordExpiration =
new JsonReference(secondsUntilPasswordExpiration);
}
/**
* Gets the seconds until password expiration warning.
*
* @return the seconds until password expiration warning.
*/
public Long getSecondsUntilPasswordExpirationWarning()
{
return (secondsUntilPasswordExpirationWarning == null) ?
null : secondsUntilPasswordExpirationWarning.getObj();
}
/**
* Sets the seconds until password expiration warning.
*
* @param secondsUntilPasswordExpirationWarning the seconds until
* password expiration warning.
*/
private void setSecondsUntilPasswordExpirationWarning(
final Long secondsUntilPasswordExpirationWarning)
{
this.secondsUntilPasswordExpirationWarning =
new JsonReference(secondsUntilPasswordExpirationWarning);
}
/**
* Gets the seconds until authentication failure unlock.
*
* @return the seconds until authentication failure unlock.
*/
public Long getSecondsUntilAuthenticationFailureUnlock()
{
return (secondsUntilAuthenticationFailureUnlock == null) ?
null : secondsUntilAuthenticationFailureUnlock.getObj();
}
/**
* Sets the seconds until authentication failure unlock.
*
* @param secondsUntilAuthenticationFailureUnlock the seconds until
* authentication failure unlock.
*/
private void setSecondsUntilAuthenticationFailureUnlock(
final Long secondsUntilAuthenticationFailureUnlock)
{
this.secondsUntilAuthenticationFailureUnlock =
new JsonReference(secondsUntilAuthenticationFailureUnlock);
}
/**
* Gets the remaining authentication failure count.
*
* @return the remaining authentication failure count.
*/
public Integer getRemainingAuthenticationFailureCount()
{
return (remainingAuthenticationFailureCount == null) ?
null : remainingAuthenticationFailureCount.getObj();
}
/**
* Sets the remaining authentication failure count.
*
* @param remainingAuthenticationFailureCount the remaining authentication
* failure count.
*/
private void setRemainingAuthenticationFailureCount(
final Integer remainingAuthenticationFailureCount)
{
this.remainingAuthenticationFailureCount =
new JsonReference(remainingAuthenticationFailureCount);
}
/**
* Gets the last login time.
*
* @return the last login time.
*/
public Calendar getLastLoginTime()
{
return (lastLoginTime == null) ? null : lastLoginTime.getObj();
}
/**
* Sets the last login time.
*
* @param lastLoginTime the last login time.
*/
public void setLastLoginTime(final Calendar lastLoginTime)
{
this.lastLoginTime = new JsonReference(lastLoginTime);
}
/**
* Gets the seconds until idle lockout.
*
* @return the seconds until idle lockout.
*/
public Long getSecondsUntilIdleLockout()
{
return (secondsUntilIdleLockout == null) ?
null : secondsUntilIdleLockout.getObj();
}
/**
* Sets the seconds until idle lockout.
*
* @param secondsUntilIdleLockout the seconds until idle lockout.
*/
private void setSecondsUntilIdleLockout(
final Long secondsUntilIdleLockout)
{
this.secondsUntilIdleLockout =
new JsonReference(secondsUntilIdleLockout);
}
/**
* Gets a boolean indicating if a user must change his/her password.
*
* @return a boolean indicating if a user must change his/her password.
*/
public Boolean isMustChangePassword()
{
return (mustChangePassword == null) ? null : mustChangePassword.getObj();
}
/**
* Sets a boolean indicating if a user must change his/her password.
*
* @param mustChangePassword a boolean indicating if a user must
* change his/her password.
*/
public void setMustChangePassword(final Boolean mustChangePassword)
{
this.mustChangePassword = new JsonReference(mustChangePassword);
}
/**
* Gets the seconds until password reset lockout.
*
* @return the seconds until password reset lockout.
*/
public Long getSecondsUntilPasswordResetLockout()
{
return (secondsUntilPasswordResetLockout == null) ?
null : secondsUntilPasswordResetLockout.getObj();
}
/**
* Sets the seconds until password reset lockout.
*
* @param secondsUntilPasswordResetLockout the seconds until password
* reset lockout.
*/
private void setSecondsUntilPasswordResetLockout(
final Long secondsUntilPasswordResetLockout)
{
this.secondsUntilPasswordResetLockout =
new JsonReference(secondsUntilPasswordResetLockout);
}
/**
* Gets the remaining grace login count.
*
* @return the remaining grace login count.
*/
public Integer getRemainingGraceLoginCount()
{
return (remainingGraceLoginCount == null) ?
null : remainingGraceLoginCount.getObj();
}
/**
* Sets the remaining grace login count.
*
* @param remainingGraceLoginCount the remaining grace login count.
*/
private void setRemainingGraceLoginCount(
final Integer remainingGraceLoginCount)
{
this.remainingGraceLoginCount =
new JsonReference(remainingGraceLoginCount);
}
/**
* Gets password changed by required time.
*
* @return the password changed by required time.
*/
public Calendar getPasswordChangedByRequiredTime()
{
return (passwordChangedByRequiredTime == null) ?
null : passwordChangedByRequiredTime.getObj();
}
/**
* Sets password changed by required time.
*
* @param passwordChangedByRequiredTime the password changed by required time.
*/
public void setPasswordChangedByRequiredTime(
final Calendar passwordChangedByRequiredTime)
{
this.passwordChangedByRequiredTime =
new JsonReference(passwordChangedByRequiredTime);
}
/**
* Gets the seconds until required password change time.
*
* @return the seconds until required password change time.
*/
public Long getSecondsUntilRequiredChangeTime()
{
return (secondsUntilRequiredChangeTime == null) ?
null : secondsUntilRequiredChangeTime.getObj();
}
/**
* Sets the seconds until required password change time.
*
* @param secondsUntilRequiredChangeTime the seconds until required
* password change time.
*/
private void setSecondsUntilRequiredChangeTime(
final Long secondsUntilRequiredChangeTime)
{
this.secondsUntilRequiredChangeTime =
new JsonReference(secondsUntilRequiredChangeTime);
}
/**
* Gets the authentication failure times.
*
* @return the authentication failure times.
*/
public List getAuthenticationFailureTimes()
{
return (authenticationFailureTimes == null) ?
null : authenticationFailureTimes.getObj();
}
/**
* Sets the authentication failure times.
*
* @param authenticationFailureTimes the authentication failure times.
*/
public void setAuthenticationFailureTimes(
final List authenticationFailureTimes)
{
this.authenticationFailureTimes =
new JsonReference>(authenticationFailureTimes);
}
/**
* Gets the grace login times.
*
* @return the grace login times.
*/
public List getGraceLoginTimes()
{
return (graceLoginTimes == null) ? null : graceLoginTimes.getObj();
}
/**
* Sets the grace login times.
*
* @param graceLoginTimes the grace login times.
*/
public void setGraceLoginTimes(final List graceLoginTimes)
{
this.graceLoginTimes = new JsonReference>(graceLoginTimes);
}
/**
* Gets the password history.
*
* @return the password history.
*/
public List getPasswordHistory()
{
return (passwordHistory == null) ? null : passwordHistory.getObj();
}
/**
* Sets the password history.
*
* @param passwordHistory the password history.
*/
private void setPasswordHistory(final List passwordHistory)
{
this.passwordHistory = new JsonReference>(passwordHistory);
}
/**
* Clears the password history.
*/
public void clearPasswordHistory()
{
this.passwordHistory = new JsonReference>(null);
}
/**
* Gets the retired password information.
*
* @return the retired password information.
*/
public RetiredPassword getRetiredPassword()
{
return (retiredPassword == null) ? null : retiredPassword.getObj();
}
/**
* Sets the retired password information.
*
* @param retiredPassword the retired password information.
*/
private void setRetiredPassword(final RetiredPassword retiredPassword)
{
this.retiredPassword = new JsonReference(retiredPassword);
}
/**
* Purge the retired password information.
*/
public void purgeRetiredPassword()
{
this.retiredPassword = new JsonReference(null);
}
/**
* Gets the account activation time.
*
* @return the account activation time.
*/
public Calendar getAccountActivationTime()
{
return (accountActivationTime == null) ?
null : accountActivationTime.getObj();
}
/**
* Sets the account activation time.
*
* @param accountActivationTime the account activation time.
*/
public void setAccountActivationTime(
final Calendar accountActivationTime)
{
this.accountActivationTime =
new JsonReference(accountActivationTime);
}
/**
* Gets the seconds until the account is activated.
*
* @return the seconds until the account is activated.
*/
public Long getSecondsUntilAccountActivation()
{
return (secondsUntilAccountActivation == null) ?
null : secondsUntilAccountActivation.getObj();
}
/**
* Sets the seconds until the account is activated.
*
* @param secondsUntilAccountActivation the seconds until the account is
* activated.
*/
private void setSecondsUntilAccountActivation(
final Long secondsUntilAccountActivation)
{
this.secondsUntilAccountActivation =
new JsonReference(secondsUntilAccountActivation);
}
/**
* Gets the account usability notices.
*
* @return the account usability notices.
*/
public List getAccountUsabilityNotices()
{
return (accountUsabilityNotices == null) ?
null : accountUsabilityNotices.getObj();
}
/**
* Sets the account usability notices.
*
* @param accountUsabilityNotices the account usability notices.
*/
private void setAccountUsabilityNotices(
final List accountUsabilityNotices)
{
this.accountUsabilityNotices =
new JsonReference>(accountUsabilityNotices);
}
/**
* Gets the account usability warnings.
*
* @return the account usability warnings.
*/
public List getAccountUsabilityWarnings()
{
return (accountUsabilityWarnings == null) ?
null : accountUsabilityWarnings.getObj();
}
/**
* Sets the account usability warnings.
*
* @param accountUsabilityWarnings the account usability warnings.
*/
private void setAccountUsabilityWarnings(
final List accountUsabilityWarnings)
{
this.accountUsabilityWarnings =
new JsonReference>(
accountUsabilityWarnings);
}
/**
* Gets the account usability errors.
*
* @return the account usability errors.
*/
public List getAccountUsabilityErrors()
{
return (accountUsabilityErrors == null) ?
null : accountUsabilityErrors.getObj();
}
/**
* Sets the account usability errors.
*
* @param accountUsabilityErrors the account usability errors.
*/
private void setAccountUsabilityErrors(
final List accountUsabilityErrors)
{
this.accountUsabilityErrors =
new JsonReference>(accountUsabilityErrors);
}
@Override
public boolean equals(final Object o)
{
if (this == o)
{
return true;
}
if (o == null || getClass() != o.getClass())
{
return false;
}
if (!super.equals(o))
{
return false;
}
AccountState that = (AccountState) o;
if (accountDisabled != null ?
!accountDisabled.equals(that.accountDisabled) :
that.accountDisabled != null)
{
return false;
}
if (accountExpirationTime != null ?
!accountExpirationTime.equals(that.accountExpirationTime) :
that.accountExpirationTime != null)
{
return false;
}
if (secondsUntilAccountExpiration != null
? !secondsUntilAccountExpiration.equals(
that.secondsUntilAccountExpiration) :
that.secondsUntilAccountExpiration != null)
{
return false;
}
if (passwordChangedTime != null ?
!passwordChangedTime.equals(that.passwordChangedTime) :
that.passwordChangedTime != null)
{
return false;
}
if (passwordExpirationWarnedTime != null ?
!passwordExpirationWarnedTime.equals(that.passwordExpirationWarnedTime)
: that.passwordExpirationWarnedTime != null)
{
return false;
}
if (secondsUntilPasswordExpiration != null
? !secondsUntilPasswordExpiration.equals(
that.secondsUntilPasswordExpiration) :
that.secondsUntilPasswordExpiration != null)
{
return false;
}
if (secondsUntilPasswordExpirationWarning != null ?
!secondsUntilPasswordExpirationWarning.equals(
that.secondsUntilPasswordExpirationWarning) :
that.secondsUntilPasswordExpirationWarning != null)
{
return false;
}
if (authenticationFailureTimes != null ?
!authenticationFailureTimes.equals(that.authenticationFailureTimes) :
that.authenticationFailureTimes != null)
{
return false;
}
if (secondsUntilAuthenticationFailureUnlock != null ?
!secondsUntilAuthenticationFailureUnlock.equals(
that.secondsUntilAuthenticationFailureUnlock) :
that.secondsUntilAuthenticationFailureUnlock != null)
{
return false;
}
if (remainingAuthenticationFailureCount != null ?
!remainingAuthenticationFailureCount.equals(
that.remainingAuthenticationFailureCount) :
that.remainingAuthenticationFailureCount != null)
{
return false;
}
if (lastLoginTime != null ?
!lastLoginTime.equals(that.lastLoginTime) : that.lastLoginTime != null)
{
return false;
}
if (secondsUntilIdleLockout != null ?
!secondsUntilIdleLockout.equals(that.secondsUntilIdleLockout)
: that.secondsUntilIdleLockout != null)
{
return false;
}
if (mustChangePassword != null ?
!mustChangePassword.equals(that.mustChangePassword) :
that.mustChangePassword != null)
{
return false;
}
if (secondsUntilPasswordResetLockout != null ?
!secondsUntilPasswordResetLockout.equals(
that.secondsUntilPasswordResetLockout) :
that.secondsUntilPasswordResetLockout != null)
{
return false;
}
if (graceLoginTimes != null ?
!graceLoginTimes.equals(that.graceLoginTimes) :
that.graceLoginTimes != null)
{
return false;
}
if (remainingGraceLoginCount != null ?
!remainingGraceLoginCount.equals(that.remainingGraceLoginCount) :
that.remainingGraceLoginCount != null)
{
return false;
}
if (passwordChangedByRequiredTime != null ?
!passwordChangedByRequiredTime.equals(
that.passwordChangedByRequiredTime) :
that.passwordChangedByRequiredTime != null)
{
return false;
}
if (secondsUntilRequiredChangeTime != null ?
!secondsUntilRequiredChangeTime.equals(
that.secondsUntilRequiredChangeTime) :
that.secondsUntilRequiredChangeTime != null)
{
return false;
}
if (passwordHistory != null ?
!passwordHistory.equals(that.passwordHistory) :
that.passwordHistory != null)
{
return false;
}
if (retiredPassword != null ?
!retiredPassword.equals(that.retiredPassword) :
that.retiredPassword != null)
{
return false;
}
if (accountActivationTime != null ?
!accountActivationTime.equals(that.accountActivationTime) :
that.accountActivationTime != null)
{
return false;
}
if (secondsUntilAccountActivation != null ?
!secondsUntilAccountActivation.equals(
that.secondsUntilAccountActivation) :
that.secondsUntilAccountActivation != null)
{
return false;
}
if (lastLoginIpAddress != null ?
!lastLoginIpAddress.equals(that.lastLoginIpAddress) :
that.lastLoginIpAddress != null)
{
return false;
}
if (accountUsabilityNotices != null ?
!accountUsabilityNotices.equals(that.accountUsabilityNotices) :
that.accountUsabilityNotices != null)
{
return false;
}
if (accountUsabilityWarnings != null ?
!accountUsabilityWarnings.equals(that.accountUsabilityWarnings)
: that.accountUsabilityWarnings != null)
{
return false;
}
return !(accountUsabilityErrors != null ?
!accountUsabilityErrors.equals(that.accountUsabilityErrors) :
that.accountUsabilityErrors != null);
}
@Override
public int hashCode()
{
int result = super.hashCode();
result = 31 * result + (accountDisabled != null ?
accountDisabled.hashCode() : 0);
result = 31 * result + (accountExpirationTime != null ?
accountExpirationTime.hashCode() : 0);
result = 31 * result + (secondsUntilAccountExpiration != null ?
secondsUntilAccountExpiration.hashCode() : 0);
result = 31 * result + (passwordChangedTime != null ?
passwordChangedTime.hashCode() : 0);
result = 31 * result + (passwordExpirationWarnedTime != null ?
passwordExpirationWarnedTime.hashCode() : 0);
result = 31 * result + (secondsUntilPasswordExpiration != null ?
secondsUntilPasswordExpiration.hashCode() : 0);
result = 31 * result + (secondsUntilPasswordExpirationWarning != null ?
secondsUntilPasswordExpirationWarning.hashCode() : 0);
result = 31 * result + (authenticationFailureTimes != null ?
authenticationFailureTimes.hashCode() : 0);
result = 31 * result + (secondsUntilAuthenticationFailureUnlock != null ?
secondsUntilAuthenticationFailureUnlock.hashCode() : 0);
result = 31 * result + (remainingAuthenticationFailureCount != null ?
remainingAuthenticationFailureCount.hashCode() : 0);
result = 31 * result + (lastLoginTime != null ?
lastLoginTime.hashCode() : 0);
result = 31 * result + (secondsUntilIdleLockout != null ?
secondsUntilIdleLockout.hashCode() : 0);
result = 31 * result + (mustChangePassword != null ?
mustChangePassword.hashCode() : 0);
result = 31 * result + (secondsUntilPasswordResetLockout != null ?
secondsUntilPasswordResetLockout.hashCode() : 0);
result = 31 * result + (graceLoginTimes != null ?
graceLoginTimes.hashCode() : 0);
result = 31 * result + (remainingGraceLoginCount != null ?
remainingGraceLoginCount.hashCode() : 0);
result = 31 * result + (passwordChangedByRequiredTime != null ?
passwordChangedByRequiredTime.hashCode() : 0);
result = 31 * result + (secondsUntilRequiredChangeTime != null ?
secondsUntilRequiredChangeTime.hashCode() : 0);
result = 31 * result + (passwordHistory != null ?
passwordHistory.hashCode() : 0);
result = 31 * result + (retiredPassword != null ?
retiredPassword.hashCode() : 0);
result = 31 * result + (accountActivationTime != null ?
accountActivationTime.hashCode() : 0);
result = 31 * result + (secondsUntilAccountActivation != null ?
secondsUntilAccountActivation.hashCode() : 0);
result = 31 * result + (lastLoginIpAddress != null ?
lastLoginIpAddress.hashCode() : 0);
result = 31 * result + (accountUsabilityNotices != null ?
accountUsabilityNotices.hashCode() : 0);
result = 31 * result + (accountUsabilityWarnings != null ?
accountUsabilityWarnings.hashCode() : 0);
result = 31 * result + (accountUsabilityErrors != null ?
accountUsabilityErrors.hashCode() : 0);
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy