/*
- * Copyright (C) 2016 quix0r
+ * Copyright (C) 2016 Roland Haeder
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@NamedQueries (
value = {
@NamedQuery (name = "SearchEmailChangeByEmail", query = "SELECT e FROM email_changes AS e WHERE LOWER(e.emailAddress) LIKE LOWER(:email)"),
- @NamedQuery (name = "AllEmailAddressChanges", query = "SELECT e.emailAddress FROM email_changes AS e ORDER BY e.emailChangeId ASC")
+ @NamedQuery (name = "AllEmailAddressChanges", query = "SELECT e.emailAddress FROM email_changes AS e ORDER BY e.emailChangeId ASC"),
+ @NamedQuery (name = "SearchEmailChangeByHash", query = "SELECT e FROM email_changes AS e WHERE e.emailChangeHash = :hash")
}
)
+@SuppressWarnings ("PersistenceUnitPresent")
public class EmailAddressChange implements ChangeableEmailAddress {
/**
*/
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
- @Column (name = "email_change_id", length = 20, nullable = false, updatable = false)
+ @Column (name = "email_change_id", nullable = false, updatable = false)
private Long emailChangeId;
/**
}
/**
- * Constructor with user, email address and creation timestamp to set
+ * Constructor with all fields to set
* <p>
+ * @param emailChangeId Email change id
* @param user User instance
- * @param emailAddress Email address to queue
+ * @param emailAddress Email address
* @param emailChangeCreated Timestamp for creation
+ * @param emailChangeStatus Email change status
+ * @param emailChangeDone When this entry has been done
+ * @param emailChangeHash Email change hash
*/
- public EmailAddressChange (final User user, final String emailAddress, final Calendar emailChangeCreated) {
- // Call super constructor
+ public EmailAddressChange (final Long emailChangeId, final User user, final String emailAddress, final Calendar emailChangeCreated, final EmailChangeStatus emailChangeStatus, final Calendar emailChangeDone, final String emailChangeHash) {
+ // Call other constructor
+ this(user, emailAddress);
+
+ // Set remaining
+ this.emailChangeId = emailChangeId;
+ this.emailChangeCreated = emailChangeCreated;
+ this.emailChangeStatus = emailChangeStatus;
+ this.emailChangeDone = emailChangeDone;
+ this.emailChangeHash = emailChangeHash;
+ }
+
+ /**
+ * Constructor with user and email address
+ * <p>
+ * @param user User instance
+ * @param emailAddress Email address
+ */
+ public EmailAddressChange (final User user, final String emailAddress) {
+ // Call other constructor
this();
// Set all
- this.emailAddress = emailAddress;
this.emailChangeUser = user;
- this.emailChangeCreated = emailChangeCreated;
+ this.emailAddress = emailAddress;
}
@Override