001 /* 002 * SonarQube, open source software quality management tool. 003 * Copyright (C) 2008-2014 SonarSource 004 * mailto:contact AT sonarsource DOT com 005 * 006 * SonarQube 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 * SonarQube 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 License 017 * along with this program; if not, write to the Free Software Foundation, 018 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 019 */ 020 package org.sonar.api.rules; 021 022 public class ActiveRuleParam implements Cloneable { 023 024 private Integer id; 025 private ActiveRule activeRule; 026 private RuleParam ruleParam; 027 private String paramKey; 028 private String value; 029 030 public Integer getId() { 031 return id; 032 } 033 034 /** 035 * @deprecated visibility should be decreased to protected or package 036 */ 037 @Deprecated 038 void setId(Integer id) { 039 this.id = id; 040 } 041 042 /** 043 * @deprecated visibility should be decreased to protected or package 044 */ 045 @Deprecated 046 public ActiveRuleParam() { 047 } 048 049 /** 050 * @deprecated visibility should be decreased to protected or package 051 */ 052 @Deprecated 053 public ActiveRuleParam(ActiveRule activeRule, RuleParam ruleParam, String value) { 054 this.activeRule = activeRule; 055 this.ruleParam = ruleParam; 056 this.value = value; 057 this.paramKey = ruleParam.getKey(); 058 } 059 060 public ActiveRule getActiveRule() { 061 return activeRule; 062 } 063 064 /** 065 * @deprecated visibility should be decreased to protected or package 066 */ 067 @Deprecated 068 public void setActiveRule(ActiveRule activeRule) { 069 this.activeRule = activeRule; 070 } 071 072 public RuleParam getRuleParam() { 073 return ruleParam; 074 } 075 076 /** 077 * @deprecated visibility should be decreased to protected or package 078 */ 079 @Deprecated 080 public void setRuleParam(RuleParam ruleParam) { 081 this.ruleParam = ruleParam; 082 } 083 084 public String getValue() { 085 return value; 086 } 087 088 public void setValue(String value) { 089 this.value = value; 090 } 091 092 public String getParamKey() { 093 return paramKey; 094 } 095 096 public void setParamKey(String paramKey) { 097 this.paramKey = paramKey; 098 } 099 100 101 public String getKey() { 102 return ruleParam.getKey(); 103 } 104 105 @Override 106 public boolean equals(Object obj) { 107 if (!(obj instanceof ActiveRuleParam)) { 108 return false; 109 } 110 if (this == obj) { 111 return true; 112 } 113 ActiveRuleParam other = (ActiveRuleParam) obj; 114 return other.getKey().equals(getKey()); 115 } 116 117 @Override 118 public int hashCode() { 119 return getKey().hashCode(); 120 } 121 122 @Override 123 public Object clone() { 124 return new ActiveRuleParam(getActiveRule(), getRuleParam(), getValue()); 125 } 126 127 }