-
Notifications
You must be signed in to change notification settings - Fork 733
/
Copy pathPlayer.java
40 lines (32 loc) · 1.06 KB
/
Player.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package nextstep.ladder.domain;
public class Player {
private static final int MAX_NAME_LENGTH = 5;
private static final int MIN_INDEX = 0;
private final int index;
private final String name;
public Player(int index, String name) {
validate(index);
validate(name);
this.index = index;
this.name = name;
}
private static void validate(int index) {
if (index < MIN_INDEX) {
throw new IllegalArgumentException("인덱스는 " + MIN_INDEX + "보다 작을 수 없습니다.");
}
}
private void validate(String name) {
if (name == null || name.isEmpty()) {
throw new IllegalArgumentException("이름은 비어있을 수 없습니다.");
}
if (name.length() > MAX_NAME_LENGTH) {
throw new IllegalArgumentException("이름은 " + MAX_NAME_LENGTH + "자 이하여야 합니다.");
}
}
public String getName() {
return name;
}
public boolean sameIndex(int index) {
return this.index == index;
}
}