47 lines
1.2 KiB
Java
47 lines
1.2 KiB
Java
package tc.oc.api.docs;
|
|
|
|
import tc.oc.api.annotations.Serialize;
|
|
|
|
import static com.google.common.base.Preconditions.checkNotNull;
|
|
|
|
public class SimpleUserId implements UserId {
|
|
|
|
@Serialize private String player_id;
|
|
|
|
public SimpleUserId(String player_id) {
|
|
this.player_id = checkNotNull(player_id);
|
|
}
|
|
|
|
/** For deserialization only */
|
|
protected SimpleUserId() {
|
|
this.player_id = null;
|
|
}
|
|
|
|
public static SimpleUserId copyOf(UserId userId) {
|
|
return userId.getClass().equals(SimpleUserId.class) ? (SimpleUserId) userId
|
|
: new SimpleUserId(userId.player_id());
|
|
}
|
|
|
|
@Serialize
|
|
@Override
|
|
public String player_id() {
|
|
return this.player_id;
|
|
}
|
|
|
|
@Override
|
|
final public boolean equals(Object obj) {
|
|
return obj instanceof UserId && ((UserId) obj).player_id().equals(this.player_id());
|
|
}
|
|
|
|
@Override
|
|
final public int hashCode() {
|
|
return this.player_id().hashCode();
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return getClass().getSimpleName() +
|
|
"{player_id=" + player_id() + "}";
|
|
}
|
|
}
|