package com.lesgens.blindr.models; import java.sql.Timestamp; import java.util.ArrayList; import java.util.UUID; public class Message extends Event{ public enum Gender { Male, Female, Custom }; private String message; private ArrayList<UUID> idsMessage; private boolean isIncoming; private Gender gender; public Message(User user, String message, boolean isIncoming){ this(UUID.randomUUID(), new Timestamp(System.currentTimeMillis()), null, user, message, null, Gender.Custom, isIncoming, null); } public Message(UUID id, Timestamp timestamp, User user, String realName, String fakeName, String message, boolean isIncoming){ this(id, timestamp, null, user, message, fakeName, Gender.Custom, isIncoming, realName); } public Message(UUID id, Timestamp timestamp, IDestination destination, User user, String message, String fakeName, Gender gender, boolean isIncoming, String realName) { super(id, timestamp, destination, user, realName, fakeName); this.message = message; this.isIncoming = isIncoming; idsMessage = new ArrayList<UUID>(); idsMessage.add(id); this.gender = gender; } public boolean isIncoming(){ return isIncoming; } public String getMessage(){ return message; } public void addMessage(String newMessage, UUID id){ message = message + "\n" + newMessage; idsMessage.add(id); } public ArrayList<UUID> getIdsMessage(){ return idsMessage; } @Override public boolean equals(Object o) { if(o instanceof Message){ Message other = (Message) o; for(UUID id : other.getIdsMessage()){ if(idsMessage.contains(id)){ return true; } } } return false; } public Gender getGender() { return gender; } public void setIsIncoming(boolean b) { isIncoming = b; } }