Skip to content

Commit 4e666ad

Browse files
Adjusments on #654 PR
1 parent 7d34a4f commit 4e666ad

3 files changed

Lines changed: 15 additions & 6 deletions

File tree

jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/nobean/NoGettersPlugin.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
import com.sun.tools.xjc.Options;
55
import com.sun.tools.xjc.Plugin;
66
import com.sun.tools.xjc.outline.ClassOutline;
7+
import com.sun.tools.xjc.outline.FieldOutline;
78
import com.sun.tools.xjc.outline.Outline;
9+
import org.jvnet.jaxb.plugin.util.FieldOutlineUtils;
810
import org.xml.sax.ErrorHandler;
911
import org.xml.sax.SAXException;
1012

@@ -35,9 +37,12 @@ public String getUsage() {
3537
@Override
3638
public boolean run(Outline model, Options opts, ErrorHandler errors) throws SAXException {
3739
for (ClassOutline co : model.getClasses()) {
38-
Collection<JMethod> methods = co.implClass.methods();
39-
methods.removeIf(next -> next.name().startsWith("get"));
40-
methods.removeIf(next -> next.name().startsWith("is"));
40+
for (FieldOutline fo : co.getDeclaredFields()) {
41+
String getterSuffix = fo.getPropertyInfo().getName(true);
42+
String getterName = "get" + getterSuffix;
43+
String isGetterName = "is" + getterSuffix;
44+
co.implClass.methods().removeIf(n -> getterName.equals(n.name()) || isGetterName.equals(n.name()));
45+
}
4146
}
4247
return true;
4348
}

jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/nobean/NoSettersPlugin.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.sun.tools.xjc.Options;
55
import com.sun.tools.xjc.Plugin;
66
import com.sun.tools.xjc.outline.ClassOutline;
7+
import com.sun.tools.xjc.outline.FieldOutline;
78
import com.sun.tools.xjc.outline.Outline;
89
import org.xml.sax.ErrorHandler;
910
import org.xml.sax.SAXException;
@@ -35,8 +36,10 @@ public String getUsage() {
3536
@Override
3637
public boolean run(Outline model, Options opts, ErrorHandler errors) throws SAXException {
3738
for (ClassOutline co : model.getClasses()) {
38-
Collection<JMethod> methods = co.implClass.methods();
39-
methods.removeIf(next -> next.name().startsWith("set"));
39+
for (FieldOutline fo : co.getDeclaredFields()) {
40+
String setterName = "set" + fo.getPropertyInfo().getName(true);
41+
co.implClass.methods().removeIf(n -> setterName.equals(n.name()));
42+
}
4043
}
4144
return true;
4245
}

jaxb-plugins-parent/jaxb-plugins/src/test/java/org/jvnet/jaxb/plugin/nobean/tests/NoGettersPluginTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ public void testExecute() throws Exception {
4646
List<String> lines = Files.readAllLines(javaFile);
4747
for (int i = 0; i < lines.size(); i++) {
4848
String line = lines.get(i);
49-
if (line.matches("^ *public [a-zA-Z]+ (isSet|get)[A-Z]\\w+\\(\\) \\{")) {
49+
if (line.matches("^ *public [a-zA-Z]+ (is|get)[A-Z]\\w+\\(\\) \\{")
50+
&& !line.matches("^ *public boolean isSet[A-Z]\\w*\\(\\) \\{")) {
5051
String fileLinePath = getGeneratedDirectory()
5152
.toPath()
5253
.relativize(javaFile)

0 commit comments

Comments
 (0)