aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao/src/main/java/org/sonar/db/plugin/PluginDto.java
blob: 8582c5596333f9f67e42a037e1e8c338ead8cf09 (plain)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/*
 * SonarQube
 * Copyright (C) 2009-2025 SonarSource SA
 * mailto:info AT sonarsource DOT com
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 3 of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */
package org.sonar.db.plugin;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import org.apache.commons.lang3.builder.ToStringBuilder;

public class PluginDto {
  /** Technical unique identifier, can't be null */
  private String uuid = null;
  /** Plugin key, unique, can't be null */
  private String kee = null;
  /** Base plugin key, can be null */
  private String basePluginKey = null;
  /** JAR file MD5 checksum, can't be null */
  private String fileHash = null;
  // core feature or not
  private Type type = null;
  /** whether the plugin has been removed **/
  private boolean removed = false;
  /** Time plugin was first installed */
  private long createdAt = 0L;
  /** Time of last plugin update (=md5 change) */
  private long updatedAt = 0L;

  public String getUuid() {
    return uuid;
  }

  public PluginDto setUuid(String s) {
    this.uuid = s;
    return this;
  }

  public String getKee() {
    return kee;
  }

  public PluginDto setKee(String s) {
    this.kee = s;
    return this;
  }

  @CheckForNull
  public String getBasePluginKey() {
    return basePluginKey;
  }

  public PluginDto setBasePluginKey(@Nullable String s) {
    this.basePluginKey = s;
    return this;
  }

  public String getFileHash() {
    return fileHash;
  }

  public PluginDto setFileHash(String s) {
    this.fileHash = s;
    return this;
  }

  public long getCreatedAt() {
    return createdAt;
  }

  public PluginDto setCreatedAt(long l) {
    this.createdAt = l;
    return this;
  }

  public long getUpdatedAt() {
    return updatedAt;
  }

  public PluginDto setUpdatedAt(long l) {
    this.updatedAt = l;
    return this;
  }

  public Type getType() {
    return type;
  }

  public PluginDto setType(Type type) {
    this.type = type;
    return this;
  }

  public boolean isRemoved() {
    return removed;
  }

  public PluginDto setRemoved(boolean removed) {
    this.removed = removed;
    return this;
  }

  public enum Type {
    BUNDLED,
    EXTERNAL
  }

  @Override
  public String toString() {
    return new ToStringBuilder(this)
      .append("uuid", uuid)
      .append("key", kee)
      .append("basePluginKey", basePluginKey)
      .append("fileHash", fileHash)
      .append("removed", removed)
      .append("createdAt", createdAt)
      .append("updatedAt", updatedAt)
      .toString();
  }
}