diff --git a/src/main/java/envoy/event/MessageStatusChangeEvent.java b/src/main/java/envoy/event/MessageStatusChangeEvent.java index c56f7a0..a696c36 100644 --- a/src/main/java/envoy/event/MessageStatusChangeEvent.java +++ b/src/main/java/envoy/event/MessageStatusChangeEvent.java @@ -61,4 +61,7 @@ public class MessageStatusChangeEvent implements Event { * @since Envoy Common v0.2-alpha */ public Date getDate() { return date; } + + @Override + public String toString() { return String.format("MessageStatusChangeEvent[id=%d,status=%s,date=%s]", id, status, date); } } diff --git a/src/main/java/envoy/event/UserStatusChangeEvent.java b/src/main/java/envoy/event/UserStatusChangeEvent.java new file mode 100644 index 0000000..1e47952 --- /dev/null +++ b/src/main/java/envoy/event/UserStatusChangeEvent.java @@ -0,0 +1,57 @@ +package envoy.event; + +import envoy.data.User; +import envoy.data.User.UserStatus; + +/** + * Project: envoy-common
+ * File: UserStatusChangeEvent.java
+ * Created: 1 Feb 2020
+ * + * @author Leon Hofmeister + * @since Envoy Common v0.2-alpha + */ +public class UserStatusChangeEvent implements Event { + + private final long id; + private final User.UserStatus status; + + private static final long serialVersionUID = 4566145392192761313L; + + /** + * Initializes a {@link UserStatusChangeEvent}. + * + * @param id the ID of the {@link User} this event is related to + * @param status the status of the {@link User} this event is related + * to + * @since Envoy Common v0.2-alpha + */ + public UserStatusChangeEvent(long id, User.UserStatus status) { + this.id = id; + this.status = status; + } + + /** + * Initializes a {@link UserStatusChangeEvent} through a User. + * + * @param user the User from which to build the event + * @since Envoy Common v0.2-alpha + */ + public UserStatusChangeEvent(User user) { this(user.getId(), user.getStatus()); } + + /** + * @return the status of the {@link User} this event is related to + * @since Envoy Common v0.2-alpha + */ + @Override + public User.UserStatus get() { return status; } + + /** + * @return the ID of the {@link User} this event is related to + * @since Envoy Common v0.2-alpha + */ + public long getId() { return id; } + + @Override + public String toString() { return String.format("UserStatusChangeEvent[id=%d,status=%s]", id, status); } +}