View Javadoc

1   package net.sf.josceleton.core.impl.entity.message;
2   
3   import net.sf.josceleton.core.api.entity.User;
4   import net.sf.josceleton.core.api.entity.UserState;
5   import net.sf.josceleton.core.api.entity.message.UserMessage;
6   
7   import com.google.inject.Inject;
8   import com.google.inject.assistedinject.Assisted;
9   
10  class UserMessageImpl extends GenericMessageImpl implements UserMessage {
11  	
12  	private final UserState userState;
13  	
14  	@Inject UserMessageImpl(
15  			@Assisted final User user,
16  			@Assisted final UserState userState) {
17  		super(user);
18  		this.userState = userState;
19  	}
20  
21  	/** {@inheritDoc} from {@link UserMessage} */
22  	@Override public final UserState getUserState() {
23  		return this.userState;
24  	}
25  	
26  	@Override public final boolean equals(final Object other) {
27  		if(this == other) { return true; }
28  		if((other instanceof UserMessage) == false) { return false; }
29  		final UserMessage that = (UserMessage) other;
30  		return	this.getUser().equals(that.getUser()) && 
31  				this.getUserState().equals(that.getUserState());
32  	}
33  	
34  	@Override public final int hashCode() {
35  		return this.getUser().hashCode();
36  	}
37  	
38  	@Override public final String toString() {
39  		return "UserMessageImpl[user=" + this.getUser() + ", userState=" + this.userState + "]";
40  	}
41  
42  }