1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.linecorp.centraldogma.server.command;
18
19 import static java.util.Objects.requireNonNull;
20
21 import javax.annotation.Nullable;
22
23 import com.fasterxml.jackson.annotation.JsonCreator;
24 import com.fasterxml.jackson.annotation.JsonProperty;
25 import com.google.common.base.MoreObjects.ToStringHelper;
26
27 import com.linecorp.centraldogma.common.Author;
28
29
30
31
32 public class PurgeRepositoryCommand extends ProjectCommand<Void> {
33
34 private final String repositoryName;
35
36 @JsonCreator
37 PurgeRepositoryCommand(@JsonProperty("timestamp") @Nullable Long timestamp,
38 @JsonProperty("author") @Nullable Author author,
39 @JsonProperty("projectName") String projectName,
40 @JsonProperty("repositoryName") String repositoryName) {
41
42 super(CommandType.PURGE_REPOSITORY, timestamp, author, projectName);
43 this.repositoryName = requireNonNull(repositoryName, "repositoryName");
44 }
45
46
47
48
49 @JsonProperty
50 public String repositoryName() {
51 return repositoryName;
52 }
53
54 @Override
55 public boolean equals(Object obj) {
56 if (this == obj) {
57 return true;
58 }
59 if (!(obj instanceof PurgeRepositoryCommand)) {
60 return false;
61 }
62
63 final PurgeRepositoryCommand that = (PurgeRepositoryCommand) obj;
64 return super.equals(obj) &&
65 repositoryName.equals(that.repositoryName);
66 }
67
68 @Override
69 public int hashCode() {
70 return repositoryName.hashCode() * 31 + super.hashCode();
71 }
72
73 @Override
74 ToStringHelper toStringHelper() {
75 return super.toStringHelper()
76 .add("repositoryName", repositoryName);
77 }
78 }