Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
300 views3 pages

Messageclypedata

This class represents message data and extends the ClypeData class. It contains private fields for the message string and implements various constructors. Key methods include getData() to return the message, equals() to compare objects, and hashCode() for hashing. It overrides methods like toString() to print human-readable representations of the data.

Uploaded by

api-537257222
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
300 views3 pages

Messageclypedata

This class represents message data and extends the ClypeData class. It contains private fields for the message string and implements various constructors. Key methods include getData() to return the message, equals() to compare objects, and hashCode() for hashing. It overrides methods like toString() to print human-readable representations of the data.

Uploaded by

api-537257222
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

MessageClypeData.

java
1 package data;
2
3 public class MessageClypeData extends ClypeData {
4
5 /**
6 *
7 */
8 private static final long serialVersionUID = -8426073677763852305L;
9 private String message;
10
11 /**
12 *
13 * Constructor that takes a username, message, and type.
14 *
15 * @param userName username associated with the data
16 * @param message message associated with the data
17 * @param type type of the data, defined in ClypeData.
18 */
19 public MessageClypeData(String userName, String message, int type, int clientID) {
20 super(userName, type, clientID);
21
22 this.message = message;
23
24 }
25
26 /**
27 *
28 * Constructor that encrypts a message with a key using the vigenere cypher.
29 *
30 * @param userName username associated with the data
31 * @param message message associated with the data
32 * @param key a String that is the key used for encryption of the message
33 * @param type type of the data, defined in ClypeData.
34 */
35 public MessageClypeData(String userName, String message, String key, int type, int
clientID) {
36 super(userName, type, clientID);
37 this.message = encrypt(message, key);
38 }
39
40 /**
41 * Default constructor that sets username to "Anonymous", the message is defaultd to "",
and the type is defaulted to 3.
42 */
43 public MessageClypeData(int clientID) {
44 this("Anonymous","",ClypeData.SEND_MESSAGE, clientID);
45 }
46
47 /**
48 * Overriden method of getData() which returns the message
49 * @return the message
50 */
51 @Override
52 public String getData() {
53 return message;
54 }
55
56 /**
57 * Overriden method of getData(String key) which returns the decrypted message
MessageClypeData.java
58 *
59 * @param key the String used as a key for encryption and decryption
60 * @return the decrypted message using the key
61 */
62 @Override
63 public String getData(String key) {
64 return decrypt(message, key);
65 }
66
67 /**
68 * Overriden method of equals(Object obj), which makes sure the object passed in is not
null and is the correct type.
69 * Then checks if the following are equal: userName, message, and type
70 */
71 @Override
72 public boolean equals(Object obj) {
73 if(this == obj)
74 return true;
75 if(obj == null || !(obj instanceof MessageClypeData))
76 return false;
77
78 MessageClypeData m = (MessageClypeData) obj;
79 if(m.getUserName() == this.getUserName() && m.getData() == this.getData() &&
m.getType() == this.getType())
80 return true;
81 else
82 return false;
83 }
84
85 /**
86 * Overriden hashCode() method.
87 */
88 @SuppressWarnings("deprecation")
89 @Override
90 public int hashCode() {
91 //from lecture notes
92 int result = 17;
93 if(this.getUserName() != null)
94 result = 37*result + this.getUserName().hashCode();
95 if(this.message != null)
96 result = 37*result + this.message.hashCode();
97 result = 37*result + this.getType();
98 result = 37*result + this.getDate().getDate();
99 return result;
100 }
101
102 /**
103 * @return useful data that gets printed to the console for the user to view
104 */
105 @Override
106 public String getDataToPrint() {
107 return this.getUserName() + ": " + this.getData();
108 }
109
110 /**
111 * Overriden toString() method which returns/prints the following: userName, message,
type,
112 * and the date of creation.
113 */
MessageClypeData.java
114 @Override
115 public String toString() {
116
117 return "Username: " + this.getUserName() + "\n"
118 + "Message: " + this.getData() + "\n"
119 + "Type: Message (" + this.getType() + ")\n"
120 + "Date Created: " + this.getDate() + "\n";
121
122 }
123
124 }
125

You might also like