Skip to content
Snippets Groups Projects
Commit 519223aa authored by Niklas Fors's avatar Niklas Fors
Browse files

Add clearX method for optionals

parent 83ee58cb
No related branches found
No related tags found
No related merge requests found
......@@ -138,11 +138,7 @@ aspect BackendDirectedAPI {
public void OptionalRelationComponent.generateDirectedAPI(StringBuilder sb) {
generateDirectedZeroOneAPI(sb, true);
// has
sb.append(ind(1) + "public boolean " + toTypeDecl());
sb.append(".has" + nameCapitalized() + "() {\n");
sb.append(ind(2) + "return " + name() + "() != null;\n");
sb.append(ind(1) + "}\n");
generateExtraOptAPI(sb);
}
public void RelationComponent.generateDirectedZeroOneAPI(StringBuilder sb, boolean optional) {
// Get
......@@ -191,6 +187,20 @@ aspect BackendDirectedAPI {
sb.append(ind(2) + "}\n");
sb.append(ind(1) + "}\n");
}
public void RelationComponent.generateExtraOptAPI(StringBuilder sb) {
// has
sb.append(ind(1) + "public boolean " + toTypeDecl());
sb.append(".has" + nameCapitalized() + "() {\n");
sb.append(ind(2) + "return " + name() + "() != null;\n");
sb.append(ind(1) + "}\n");
// clear
sb.append(ind(1) + "public void " + toTypeDecl());
sb.append(".clear" + nameCapitalized() + "() {\n");
sb.append(ind(2) + "set" + nameCapitalized() + "(null);\n");
sb.append(ind(1) + "}\n");
}
}
aspect BackendBidirectionalAPI {
......@@ -264,11 +274,7 @@ aspect BackendBidirectionalAPI {
sb.append(ind(1) + "}\n");
if (isOpt) {
// has
sb.append(ind(1) + "public boolean " + toTypeDecl());
sb.append(".has" + nameCapitalized() + "() {\n");
sb.append(ind(2) + "return " + name() + "() != null;\n");
sb.append(ind(1) + "}\n");
generateExtraOptAPI(sb);
}
}
......@@ -397,12 +403,8 @@ aspect BackendBidirectionalAPI {
}
sb.append(ind(1) + "}\n");
// has
if (isOpt) {
sb.append(ind(1) + "public boolean " + toTypeDecl());
sb.append(".has" + nameCapitalized() + "() {\n");
sb.append(ind(2) + "return " + name() + "() != null;\n");
sb.append(ind(1) + "}\n");
generateExtraOptAPI(sb);
}
}
}
......
......@@ -73,7 +73,7 @@ public class Test {
assertSame(a1.di2(), b2);
assertSame(a2.di2(), b2);
a2.setDi2(null);
a2.clearDi2();
assertSame(a1.di2(), b2);
assertNull(a2.di2());
......@@ -353,7 +353,7 @@ public class Test {
assertEquals(b2.bi6(), Arrays.asList());
assertEquals(b3.bi6(), Arrays.asList(a1, a3));
a2.setBi6(null);
a2.clearBi6();
assertSame(a1.bi6(), b3);
assertNull(a2.bi6());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment