Skip to content

Instantly share code, notes, and snippets.

@ishaquehassan
Created August 15, 2017 15:24
Show Gist options
  • Save ishaquehassan/81e34d5e9635515736ea7fe3783a9f91 to your computer and use it in GitHub Desktop.
Save ishaquehassan/81e34d5e9635515736ea7fe3783a9f91 to your computer and use it in GitHub Desktop.
A Simple chat messages model for Android Native using JAVA
package com.cyberavanza.chat.model;
import android.view.View;
/**
* Created by Ishaq Hassan
*/
public class Message {
int id;
String name;
String time;
TextMessage textMessage;
ImageMessage imageMessage;
VoiceMessage voiceMessage;
DocumentMessage documentMessage;
MessageType messageType;
View.OnClickListener clickListener;
boolean fromMe = false;
public Message() {}
public Message(int id, String name, String time, boolean fromMe) {
this.id = id;
this.name = name;
this.time = time;
this.fromMe = fromMe;
this.messageType = MessageType.TEXT;
}
public Message(int id, String name, String time, TextMessage textMessage, ImageMessage imageMessage, VoiceMessage voiceMessage, DocumentMessage documentMessage, MessageType messageType, View.OnClickListener clickListener, boolean fromMe) {
this.id = id;
this.name = name;
this.time = time;
this.textMessage = textMessage;
this.imageMessage = imageMessage;
this.voiceMessage = voiceMessage;
this.documentMessage = documentMessage;
this.messageType = messageType;
this.clickListener = clickListener;
this.fromMe = fromMe;
}
public Message(int id, String name, String time, TextMessage textMessage, boolean fromMe, View.OnClickListener clickListener) {
this.id = id;
this.name = name;
this.time = time;
this.textMessage = textMessage;
this.fromMe = fromMe;
this.clickListener = clickListener;
this.messageType = MessageType.TEXT;
}
public Message(int id, String name, String time, TextMessage textMessage, boolean fromMe) {
this.id = id;
this.name = name;
this.time = time;
this.textMessage = textMessage;
this.fromMe = fromMe;
this.messageType = MessageType.TEXT;
}
public Message(int id, String name, String time, ImageMessage imageMessage, boolean fromMe, View.OnClickListener clickListener) {
this.id = id;
this.name = name;
this.time = time;
this.imageMessage = imageMessage;
this.clickListener = clickListener;
this.fromMe = fromMe;
this.messageType = MessageType.IMAGE;
}
public Message(int id, String name, String time, ImageMessage imageMessage, boolean fromMe) {
this.id = id;
this.name = name;
this.time = time;
this.imageMessage = imageMessage;
this.fromMe = fromMe;
this.messageType = MessageType.IMAGE;
}
public Message(int id, String name, String time, VoiceMessage voiceMessage, boolean fromMe, View.OnClickListener clickListener) {
this.id = id;
this.name = name;
this.time = time;
this.voiceMessage = voiceMessage;
this.clickListener = clickListener;
this.fromMe = fromMe;
this.messageType = MessageType.VOICE;
}
public Message(int id, String name, String time, VoiceMessage voiceMessage, boolean fromMe) {
this.id = id;
this.name = name;
this.time = time;
this.voiceMessage = voiceMessage;
this.fromMe = fromMe;
this.messageType = MessageType.VOICE;
}
public Message(int id, String name, String time, DocumentMessage documentMessage, boolean fromMe, View.OnClickListener clickListener) {
this.id = id;
this.name = name;
this.time = time;
this.documentMessage = documentMessage;
this.clickListener = clickListener;
this.fromMe = fromMe;
this.messageType = MessageType.DOCUMENT;
}
public Message(int id, String name, String time, DocumentMessage documentMessage, boolean fromMe) {
this.id = id;
this.name = name;
this.time = time;
this.documentMessage = documentMessage;
this.fromMe = fromMe;
this.messageType = MessageType.DOCUMENT;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public TextMessage getTextMessage() {
return textMessage;
}
public void setTextMessage(TextMessage textMessage) {
this.setMessageType(MessageType.TEXT);
this.textMessage = textMessage;
}
public ImageMessage getImageMessage() {
return imageMessage;
}
public void setImageMessage(ImageMessage imageMessage) {
this.setMessageType(MessageType.IMAGE);
this.imageMessage = imageMessage;
}
public VoiceMessage getVoiceMessage() {
return voiceMessage;
}
public void setVoiceMessage(VoiceMessage voiceMessage) {
this.setMessageType(MessageType.VOICE);
this.voiceMessage = voiceMessage;
}
public DocumentMessage getDocumentMessage() {
return documentMessage;
}
public void setDocumentMessage(DocumentMessage documentMessage) {
this.setMessageType(MessageType.DOCUMENT);
this.documentMessage = documentMessage;
}
public MessageType getMessageType() {
return messageType;
}
public void setMessageType(MessageType messageType) {
this.messageType = messageType;
}
public View.OnClickListener getClickListener() {
return clickListener;
}
public void setClickListener(View.OnClickListener clickListener) {
this.clickListener = clickListener;
}
public boolean isFromMe() {
return fromMe;
}
public void setFromMe(boolean fromMe) {
this.fromMe = fromMe;
}
public static class GeneralTypeMessage{
}
public static class TextMessage extends GeneralTypeMessage{
String messageText;
public TextMessage(String messageText) {
this.messageText = messageText;
}
public String getMessageText() {
return messageText;
}
public void setMessageText(String messageText) {
this.messageText = messageText;
}
}
public static class ImageMessage extends GeneralTypeMessage{
String messageImageUrl;
public ImageMessage(String messageImageUrl) {
this.messageImageUrl = messageImageUrl;
}
public String getMessageImageUrl() {
return messageImageUrl;
}
public void setMessageImageUrl(String messageImageUrl) {
this.messageImageUrl = messageImageUrl;
}
}
public static class VoiceMessage extends GeneralTypeMessage{
String messageVoiceUrl;
public VoiceMessage(String messageVoiceUrl) {
this.messageVoiceUrl = messageVoiceUrl;
}
public String getMessageVoiceUrl() {
return messageVoiceUrl;
}
public void setMessageVoiceUrl(String messageVoiceUrl) {
this.messageVoiceUrl = messageVoiceUrl;
}
}
public static class DocumentMessage extends GeneralTypeMessage{
String messageDocumentName;
String messageDocumentUrl;
public DocumentMessage(String messageDocumentName, String messageDocumentUrl) {
this.messageDocumentName = messageDocumentName;
this.messageDocumentUrl = messageDocumentUrl;
}
public String getMessageDocumentName() {
return messageDocumentName;
}
public void setMessageDocumentName(String messageDocumentName) {
this.messageDocumentName = messageDocumentName;
}
public String getMessageDocumentUrl() {
return messageDocumentUrl;
}
public void setMessageDocumentUrl(String messageDocumentUrl) {
this.messageDocumentUrl = messageDocumentUrl;
}
}
public enum MessageType {
TEXT,
IMAGE,
VOICE,
DOCUMENT
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment