88
99import javax .persistence .*;
1010import javax .validation .constraints .NotNull ;
11+ import java .util .LinkedHashSet ;
12+ import java .util .Set ;
13+
14+ import static javax .persistence .CascadeType .DETACH ;
15+ import static javax .persistence .CascadeType .REFRESH ;
16+ import static javax .persistence .CascadeType .REMOVE ;
17+ import static javax .persistence .FetchType .EAGER ;
18+ import static javax .persistence .FetchType .LAZY ;
1119
1220@ Entity
1321@ Table (
@@ -83,7 +91,34 @@ public String getListOwnersScreenName(){
8391 return myuriPath .split ("/" )[1 ];
8492 }
8593
86- public UserList (Task createdBy , Task updatedBy , long idTwitter , String name , String fullName , String uriPath , String description , String slug , boolean isPublic , boolean isFollowing , int memberCount , int subscriberCount ) {
94+ @ NotNull
95+ @ ManyToOne (fetch = FetchType .EAGER )
96+ @ JoinColumn (name ="fk_user" )
97+ private User listOwner ;
98+
99+
100+ @ NotNull
101+ @ JoinTable (
102+ name ="userlist_members"
103+ )
104+ @ ManyToMany (
105+ cascade = { DETACH , REFRESH , REMOVE },
106+ fetch = LAZY
107+ )
108+ private Set <User > members = new LinkedHashSet <User >();
109+
110+
111+ @ NotNull
112+ @ JoinTable (
113+ name ="userlist_subcriber"
114+ )
115+ @ ManyToMany (
116+ cascade = { DETACH , REFRESH , REMOVE },
117+ fetch = LAZY
118+ )
119+ private Set <User > subscriber = new LinkedHashSet <User >();
120+
121+ public UserList (Task createdBy , Task updatedBy , long idTwitter , String name , String fullName , String uriPath , String description , String slug , boolean isPublic , boolean isFollowing , int memberCount , int subscriberCount , User listOwner ,Set <User > members ,Set <User > subscriber ) {
87122 super (createdBy , updatedBy );
88123 this .idTwitter = idTwitter ;
89124 this .name = name ;
@@ -99,6 +134,9 @@ public UserList(Task createdBy, Task updatedBy, long idTwitter, String name, Str
99134 } else {
100135 this .description = description ;
101136 }
137+ this .listOwner = listOwner ;
138+ this .members = members ;
139+ this .subscriber = subscriber ;
102140 }
103141
104142 protected UserList () {
@@ -213,45 +251,74 @@ public void setSubscriberCount(Integer subscriberCount) {
213251 this .subscriberCount = subscriberCount ;
214252 }
215253
254+
255+ public User getListOwner () {
256+ return listOwner ;
257+ }
258+
259+ public void setListOwner (User listOwner ) {
260+ this .listOwner = listOwner ;
261+ }
262+
263+ public Set <User > getMembers () {
264+ return members ;
265+ }
266+
267+ public void setMembers (Set <User > members ) {
268+ this .members = members ;
269+ }
270+
271+ public Set <User > getSubscriber () {
272+ return subscriber ;
273+ }
274+
275+ public void setSubscriber (Set <User > subscriber ) {
276+ this .subscriber = subscriber ;
277+ }
278+
216279 @ Override
217280 public boolean equals (Object o ) {
218281 if (this == o ) return true ;
219282 if (!(o instanceof UserList )) return false ;
220283
221284 UserList userList = (UserList ) o ;
222285
223- if (getId () != null ? !getId ().equals (userList .getId ()) : userList .getId () != null ) return false ;
224- if (getIdTwitter () != null ? !getIdTwitter ().equals (userList .getIdTwitter ()) : userList .getIdTwitter () != null )
225- return false ;
226- if (getName () != null ? !getName ().equals (userList .getName ()) : userList .getName () != null ) return false ;
227- if (getFullName () != null ? !getFullName ().equals (userList .getFullName ()) : userList .getFullName () != null )
286+ if (id != null ? !id .equals (userList .id ) : userList .id != null ) return false ;
287+ if (idTwitter != null ? !idTwitter .equals (userList .idTwitter ) : userList .idTwitter != null ) return false ;
288+ if (name != null ? !name .equals (userList .name ) : userList .name != null ) return false ;
289+ if (fullName != null ? !fullName .equals (userList .fullName ) : userList .fullName != null ) return false ;
290+ if (uriPath != null ? !uriPath .equals (userList .uriPath ) : userList .uriPath != null ) return false ;
291+ if (description != null ? !description .equals (userList .description ) : userList .description != null )
228292 return false ;
229- if (getUriPath () != null ? !getUriPath ().equals (userList .getUriPath ()) : userList .getUriPath () != null )
230- return false ;
231- if (getDescription () != null ? !getDescription ().equals (userList .getDescription ()) : userList .getDescription () != null )
232- return false ;
233- if (getSlug () != null ? !getSlug ().equals (userList .getSlug ()) : userList .getSlug () != null ) return false ;
293+ if (slug != null ? !slug .equals (userList .slug ) : userList .slug != null ) return false ;
234294 if (isPublic != null ? !isPublic .equals (userList .isPublic ) : userList .isPublic != null ) return false ;
235295 if (isFollowing != null ? !isFollowing .equals (userList .isFollowing ) : userList .isFollowing != null )
236296 return false ;
237- if (getMemberCount () != null ? !getMemberCount ().equals (userList .getMemberCount ()) : userList .getMemberCount () != null )
297+ if (memberCount != null ? !memberCount .equals (userList .memberCount ) : userList .memberCount != null )
298+ return false ;
299+ if (subscriberCount != null ? !subscriberCount .equals (userList .subscriberCount ) : userList .subscriberCount != null )
238300 return false ;
239- return getSubscriberCount () != null ? getSubscriberCount ().equals (userList .getSubscriberCount ()) : userList .getSubscriberCount () == null ;
301+ if (listOwner != null ? !listOwner .equals (userList .listOwner ) : userList .listOwner != null ) return false ;
302+ if (members != null ? !members .equals (userList .members ) : userList .members != null ) return false ;
303+ return subscriber != null ? subscriber .equals (userList .subscriber ) : userList .subscriber == null ;
240304 }
241305
242306 @ Override
243307 public int hashCode () {
244- int result = getId () != null ? getId () .hashCode () : 0 ;
245- result = 31 * result + (getIdTwitter () != null ? getIdTwitter () .hashCode () : 0 );
246- result = 31 * result + (getName () != null ? getName () .hashCode () : 0 );
247- result = 31 * result + (getFullName () != null ? getFullName () .hashCode () : 0 );
248- result = 31 * result + (getUriPath () != null ? getUriPath () .hashCode () : 0 );
249- result = 31 * result + (getDescription () != null ? getDescription () .hashCode () : 0 );
250- result = 31 * result + (getSlug () != null ? getSlug () .hashCode () : 0 );
308+ int result = id != null ? id .hashCode () : 0 ;
309+ result = 31 * result + (idTwitter != null ? idTwitter .hashCode () : 0 );
310+ result = 31 * result + (name != null ? name .hashCode () : 0 );
311+ result = 31 * result + (fullName != null ? fullName .hashCode () : 0 );
312+ result = 31 * result + (uriPath != null ? uriPath .hashCode () : 0 );
313+ result = 31 * result + (description != null ? description .hashCode () : 0 );
314+ result = 31 * result + (slug != null ? slug .hashCode () : 0 );
251315 result = 31 * result + (isPublic != null ? isPublic .hashCode () : 0 );
252316 result = 31 * result + (isFollowing != null ? isFollowing .hashCode () : 0 );
253- result = 31 * result + (getMemberCount () != null ? getMemberCount ().hashCode () : 0 );
254- result = 31 * result + (getSubscriberCount () != null ? getSubscriberCount ().hashCode () : 0 );
317+ result = 31 * result + (memberCount != null ? memberCount .hashCode () : 0 );
318+ result = 31 * result + (subscriberCount != null ? subscriberCount .hashCode () : 0 );
319+ result = 31 * result + (listOwner != null ? listOwner .hashCode () : 0 );
320+ result = 31 * result + (members != null ? members .hashCode () : 0 );
321+ result = 31 * result + (subscriber != null ? subscriber .hashCode () : 0 );
255322 return result ;
256323 }
257324
0 commit comments