001 /*
002 * Sonar, open source software quality management tool.
003 * Copyright (C) 2008-2012 SonarSource
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.plugins.findbugs.xml;
021
022 import java.util.List;
023
024 import com.thoughtworks.xstream.annotations.XStreamAlias;
025 import com.thoughtworks.xstream.annotations.XStreamImplicit;
026
027 @XStreamAlias("Match")
028 public class Match {
029
030 @XStreamAlias("Bug")
031 private Bug bug;
032
033 @XStreamAlias("Priority")
034 private Priority priority;
035
036 @XStreamAlias("Package")
037 private PackageFilter particularPackage;
038
039 @XStreamAlias("Class")
040 private ClassFilter particularClass;
041
042 @XStreamAlias("Method")
043 private MethodFilter particularMethod;
044
045 @XStreamAlias("Field")
046 private FieldFilter particularField;
047
048 @XStreamAlias("Local")
049 private LocalFilter particularLocal;
050
051 @XStreamImplicit(itemFieldName = "Or")
052 private List<OrFilter> ors;
053
054 public Match() {
055 }
056
057 public Match(Bug bug, Priority priority) {
058 this.bug = bug;
059 this.priority = priority;
060 }
061
062 public Match(Bug bug) {
063 this.bug = bug;
064 }
065
066 public Match(ClassFilter particularClass) {
067 this.particularClass = particularClass;
068 }
069
070 public Bug getBug() {
071 return bug;
072 }
073
074 public void setBug(Bug bug) {
075 this.bug = bug;
076 }
077
078 public Priority getPriority() {
079 return priority;
080 }
081
082 public void setPriority(Priority priority) {
083 this.priority = priority;
084 }
085
086 public PackageFilter getParticularPackage() {
087 return particularPackage;
088 }
089
090 public void setParticularPackage(PackageFilter particularPackage) {
091 this.particularPackage = particularPackage;
092 }
093
094 public ClassFilter getParticularClass() {
095 return particularClass;
096 }
097
098 public void setParticularClass(ClassFilter particularClass) {
099 this.particularClass = particularClass;
100 }
101
102 public MethodFilter getParticularMethod() {
103 return particularMethod;
104 }
105
106 public void setParticularMethod(MethodFilter particularMethod) {
107 this.particularMethod = particularMethod;
108 }
109
110 public FieldFilter getParticularField() {
111 return particularField;
112 }
113
114 public void setParticularField(FieldFilter particularField) {
115 this.particularField = particularField;
116 }
117
118 public LocalFilter getParticularLocal() {
119 return particularLocal;
120 }
121
122 public void setParticularLocal(LocalFilter particularLocal) {
123 this.particularLocal = particularLocal;
124 }
125
126 public List<OrFilter> getOrs() {
127 return ors;
128 }
129
130 public void setOrs(List<OrFilter> ors) {
131 this.ors = ors;
132 }
133
134 public void addDisjunctCombine(OrFilter child) {
135 ors.add(child);
136 }
137 }