2 * Copyright (C) 2016, 2017 Roland Häder
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 package org.mxchange.jusercore.model.user.activity;
19 import java.io.Serializable;
20 import java.util.Calendar;
21 import org.mxchange.jcontacts.contact.title.PersonalTitle;
22 import org.mxchange.jusercore.model.user.User;
25 * POJI for logable user activity
27 * @author Roland Häder<roland@mxchange.org>
29 public interface LogableUserActivity extends Serializable {
32 * Getter for activity id
36 Long getActivityId ();
39 * Getter for activity id
41 * @param activityId Activity id
43 void setActivityId (final Long activityId);
46 * Getter for activity message (optional)
48 * @return Activity message
50 String getActivityMessage ();
53 * Setter for activity message (optional)
55 * @param activityMessage Activity message
57 void setActivityMessage (final String activityMessage);
60 * Getter for principal name
62 * @return Principal name
64 String getActivityPrincipalName ();
67 * Setter for principal name
69 * @param activityPrincipalName Principal name
71 void setActivityPrincipalName (final String activityPrincipalName);
74 * Getter for activity timestamp
76 * @return Activity timestamp
78 Calendar getActivityTimestamp ();
81 * Setter for activity timestamp
83 * @param activityTimestamp Activity timestamp
85 void setActivityTimestamp (final Calendar activityTimestamp);
88 * Getter for activity type
90 * @return Activity type
92 String getActivityType ();
95 * Setter for activity type
97 * @param activityType Activity type
99 void setActivityType (final String activityType);
102 * Getter for activity user (who did it)
104 * @return User who did activity
106 User getActivityUser ();
109 * Setter for activity user (who did it)
111 * @param activityUser User who did activity
113 void setActivityUser (final User activityUser);
116 * Getter for user name
120 String getActivityUserName ();
123 * Setter for user name
125 * @param activityUserName User name
127 void setActivityUserName (final String activityUserName);
130 * Getter for contact family name
132 * @return Contact family name
134 String getActivityContactFamilyName ();
137 * Setter for contact family name
139 * @param activityContactFamilyName Contact family name
141 void setActivityContactFamilyName (final String activityContactFamilyName);
144 * Getter for contact first name
146 * @return Contact first name
148 String getActivityContactFirstName ();
151 * Setter for contact first name
153 * @param activityContactFirstName Contact first name
155 void setActivityContactFirstName (final String activityContactFirstName);
158 * Getter for contact gender
160 * @return Contact gender
162 PersonalTitle getActivityContactPersonalTitle ();
165 * Setter for contact gender
167 * @param activityContactPersonalTitle Contact gender
169 void setActivityContactPersonalTitle (final PersonalTitle activityContactPersonalTitle);
172 boolean equals (final Object object);