diff options
author | simonbrandhof <simon.brandhof@gmail.com> | 2011-02-14 15:37:56 +0100 |
---|---|---|
committer | simonbrandhof <simon.brandhof@gmail.com> | 2011-02-14 15:38:25 +0100 |
commit | 60e2dc0e768ac74bfd8bdedaa90157e1082c05b0 (patch) | |
tree | d96868c81c6038557e5a2b4930cb285ee05bf805 | |
parent | e4a24c9ae7960c079d6463c67a9c6b2ce3c53dec (diff) | |
download | sonarqube-60e2dc0e768ac74bfd8bdedaa90157e1082c05b0.tar.gz sonarqube-60e2dc0e768ac74bfd8bdedaa90157e1082c05b0.zip |
API: rename BlockUnit to Method
-rw-r--r-- | sonar-java-api/src/main/java/org/sonar/java/api/JavaMethod.java | 16 | ||||
-rw-r--r-- | sonar-plugin-api/src/main/java/org/sonar/api/resources/Method.java (renamed from sonar-plugin-api/src/main/java/org/sonar/api/resources/BlockUnit.java) | 24 | ||||
-rw-r--r-- | sonar-plugin-api/src/test/java/org/sonar/api/resources/MethodTest.java | 46 |
3 files changed, 59 insertions, 27 deletions
diff --git a/sonar-java-api/src/main/java/org/sonar/java/api/JavaMethod.java b/sonar-java-api/src/main/java/org/sonar/java/api/JavaMethod.java index 65c478a49b7..6b1d9eebbd5 100644 --- a/sonar-java-api/src/main/java/org/sonar/java/api/JavaMethod.java +++ b/sonar-java-api/src/main/java/org/sonar/java/api/JavaMethod.java @@ -25,7 +25,7 @@ import org.sonar.api.resources.*; /** * @since 2.6 */ -public final class JavaMethod extends BlockUnit { +public final class JavaMethod extends Method { public static final String QUALIFIER = Qualifiers.METHOD; @@ -92,20 +92,6 @@ public final class JavaMethod extends BlockUnit { } @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - JavaMethod that = (JavaMethod) o; - return getKey().equals(that.getKey()); - } - - @Override - public int hashCode() { - return getKey().hashCode(); - } - - @Override public String toString() { return getKey(); } diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/BlockUnit.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Method.java index 38cf6bc2b72..bda8e050c81 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/BlockUnit.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Method.java @@ -19,14 +19,14 @@ */ package org.sonar.api.resources; -public class BlockUnit extends Resource { +public class Method extends Resource { public static final String SCOPE = Scopes.BLOCK_UNIT; protected String qualifier; protected Language language; - protected BlockUnit(String key, String qualifier, Language language) { + protected Method(String key, String qualifier, Language language) { setKey(key); this.qualifier = qualifier; this.language = language; @@ -73,32 +73,32 @@ public class BlockUnit extends Resource { } @Override - public boolean equals(Object o) { + public final boolean equals(Object o) { if (this == o) { return true; } - if (o == null || getClass() != o.getClass()) { + if (!(o instanceof Method)) { return false; } - if (!super.equals(o)) { + Method method = (Method) o; + if (!getKey().equals(method.getKey())) { return false; } - BlockUnit blockUnit = (BlockUnit) o; - if (!qualifier.equals(blockUnit.qualifier)) { + if (!qualifier.equals(method.qualifier)) { return false; } - return getKey().equals(blockUnit.getKey()); + return true; } @Override - public int hashCode() { + public final int hashCode() { int result = super.hashCode(); - result = 31 * result + getKey().hashCode(); result = 31 * result + qualifier.hashCode(); + result = 31 * result + getKey().hashCode(); return result; } - public static BlockUnit createMethod(String key, Language language) { - return new BlockUnit(key, Qualifiers.METHOD, language); + public static Method createMethod(String key, Language language) { + return new Method(key, Qualifiers.METHOD, language); } } diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/resources/MethodTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/resources/MethodTest.java new file mode 100644 index 00000000000..406e2f7b7b0 --- /dev/null +++ b/sonar-plugin-api/src/test/java/org/sonar/api/resources/MethodTest.java @@ -0,0 +1,46 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2008-2011 SonarSource + * mailto:contact AT sonarsource DOT com + * + * Sonar 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. + * + * Sonar 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 Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.api.resources; + +import org.junit.Test; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +public class MethodTest { + + @Test + public void shouldAcceptOverridding() { + Method method = Method.createMethod("Foo.foo()", Java.INSTANCE); + Method fakeMethod = new FakeMethod("Foo.foo()"); + + assertThat(method.equals(fakeMethod), is(true)); + assertThat(fakeMethod.equals(method), is(true)); + + assertThat(method.hashCode(), is(fakeMethod.hashCode())); + assertThat(fakeMethod.hashCode(), is(method.hashCode())); + } + + static class FakeMethod extends Method { + protected FakeMethod(String key) { + super(key, Qualifiers.METHOD, Java.INSTANCE); + } + } +} |