001 /*
002 * Sonar, open source software quality management tool.
003 * Copyright (C) 2009 SonarSource SA
004 * mailto:contact AT sonarsource DOT com
005 *
006 * Sonar is free software; you can redistribute it and/or
007 * modify it under the terms of the GNU Lesser General Public
008 * License as published by the Free Software Foundation; either
009 * version 3 of the License, or (at your option) any later version.
010 *
011 * Sonar is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014 * Lesser General Public License for more details.
015 *
016 * You should have received a copy of the GNU Lesser General Public
017 * License along with Sonar; if not, write to the Free Software
018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
019 */
020 package org.sonar.wsclient.services;
021
022 import java.util.LinkedHashMap;
023 import java.util.Map;
024
025 public class Measure extends Model {
026
027 private String metricKey;
028 private String metricName;
029 private Double value;
030 private String formattedValue;
031 private String data;
032 private String characteristicKey;
033 private String characteristicName;
034
035 private Integer trend;
036 private Integer var;
037
038 private String ruleKey;
039 private String ruleName;
040 private String ruleCategory;
041 private String rulePriority;
042
043 public String getMetricKey() {
044 return metricKey;
045 }
046
047 public Measure setMetricKey(String metricKey) {
048 this.metricKey = metricKey;
049 return this;
050 }
051
052 public String getMetricName() {
053 return metricName;
054 }
055
056 public Measure setMetricName(String metricName) {
057 this.metricName = metricName;
058 return this;
059 }
060
061 public Double getValue() {
062 return value;
063 }
064
065 public Integer getIntValue() {
066 if (value==null) {
067 return null;
068 }
069 return value.intValue();
070 }
071
072 public Measure setValue(Double value) {
073 this.value = value;
074 return this;
075 }
076
077 public String getFormattedValue() {
078 return formattedValue;
079 }
080
081 public String getFormattedValue(String defaultValue) {
082 if (formattedValue==null) {
083 return defaultValue;
084 }
085 return formattedValue;
086 }
087
088 public Measure setFormattedValue(String formattedValue) {
089 this.formattedValue = formattedValue;
090 return this;
091 }
092
093 public String getData() {
094 return data;
095 }
096
097 public Map<String,String> getDataAsMap() {
098 return getDataAsMap(",");
099 }
100
101 public Map<String,String> getDataAsMap(String separator) {
102 if (data==null) {
103 return null;
104 }
105 Map<String,String> map = new LinkedHashMap<String,String>();
106 String[] parts = data.split(separator);
107 for (String part : parts) {
108 String[] kv = part.split("=");
109 map.put(kv[0], kv[1]);
110 }
111 return map;
112 }
113
114 public Measure setData(String data) {
115 this.data = data;
116 return this;
117 }
118
119 public Integer getTrend() {
120 return trend;
121 }
122
123 public Measure setTrend(Integer trend) {
124 this.trend = trend;
125 return this;
126 }
127
128 public Integer getVar() {
129 return var;
130 }
131
132 public Measure setVar(Integer var) {
133 this.var = var;
134 return this;
135 }
136
137 public String getRuleKey() {
138 return ruleKey;
139 }
140
141 public Measure setRuleKey(String ruleKey) {
142 this.ruleKey = ruleKey;
143 return this;
144 }
145
146 public String getRuleName() {
147 return ruleName;
148 }
149
150 public Measure setRuleName(String ruleName) {
151 this.ruleName = ruleName;
152 return this;
153 }
154
155 public String getRuleCategory() {
156 return ruleCategory;
157 }
158
159 public Measure setRuleCategory(String ruleCategory) {
160 this.ruleCategory = ruleCategory;
161 return this;
162 }
163
164 public String getRulePriority() {
165 return rulePriority;
166 }
167
168 public Measure setRulePriority(String rulePriority) {
169 this.rulePriority = rulePriority;
170 return this;
171 }
172
173 public String getCharacteristicKey() {
174 return characteristicKey;
175 }
176
177 public String getCharacteristicName() {
178 return characteristicName;
179 }
180
181 public Measure setCharacteristicKey(String s) {
182 this.characteristicKey = s;
183 return this;
184 }
185
186 public Measure setCharacteristicName(String s) {
187 this.characteristicName = s;
188 return this;
189 }
190
191 @Override
192 public String toString() {
193 return new StringBuilder().append("Measure{")
194 .append("metricKey='").append(metricKey).append('\'')
195 .append(", metricName='").append(metricName).append('\'')
196 .append(", value=").append(value)
197 .append(", formattedValue='").append(formattedValue).append('\'')
198 .append(", data='").append(data).append('\'')
199 .append(", characteristicKey='").append(characteristicKey).append('\'')
200 .append(", characteristicName='").append(characteristicName).append('\'')
201 .append(", trend=").append(trend).append(", var=").append(var)
202 .append(", ruleKey='").append(ruleKey).append('\'')
203 .append(", ruleName='").append(ruleName).append('\'')
204 .append(", ruleCategory='").append(ruleCategory).append('\'')
205 .append(", rulePriority='").append(rulePriority).append('\'')
206 .append('}').toString();
207 }
208 }