[jOOQ/jOOQ#11071] Fix nested record backports

Nested records are implicitly static and final. We only made them final, but not static, which can cause issues when using DefaultRecordMapper on those records (mapping(R::new) isn't a problem, because the Java compiler can work with both static and inner classes, this way)
This commit is contained in:
Lukas Eder 2022-05-20 09:22:50 +02:00
parent 6e8c6c6243
commit 0e1bfcfa46
2 changed files with 6 additions and 6 deletions

View File

@ -64,9 +64,9 @@ public class TestContainersTest {
}
}
final /* record */ class Film { private final String title; public Film(String title) { this.title = title; } public String title() { return title; } @Override public boolean equals(Object o) { if (!(o instanceof Film)) return false; Film other = (Film) o; if (!java.util.Objects.equals(this.title, other.title)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.title); } @Override public String toString() { return new StringBuilder("Film[").append("title=").append(this.title).append("]").toString(); } }
final /* record */ class Actor { private final String firstName; private final String lastName; public Actor(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } public String firstName() { return firstName; } public String lastName() { return lastName; } @Override public boolean equals(Object o) { if (!(o instanceof Actor)) return false; Actor other = (Actor) o; if (!java.util.Objects.equals(this.firstName, other.firstName)) return false; if (!java.util.Objects.equals(this.lastName, other.lastName)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.firstName, this.lastName); } @Override public String toString() { return new StringBuilder("Actor[").append("firstName=").append(this.firstName).append(", lastName=").append(this.lastName).append("]").toString(); } }
final /* record */ class Category { private final String name; public Category(String name) { this.name = name; } public String name() { return name; } @Override public boolean equals(Object o) { if (!(o instanceof Category)) return false; Category other = (Category) o; if (!java.util.Objects.equals(this.name, other.name)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.name); } @Override public String toString() { return new StringBuilder("Category[").append("name=").append(this.name).append("]").toString(); } }
static final /* record */ class Film { private final String title; public Film(String title) { this.title = title; } public String title() { return title; } @Override public boolean equals(Object o) { if (!(o instanceof Film)) return false; Film other = (Film) o; if (!java.util.Objects.equals(this.title, other.title)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.title); } @Override public String toString() { return new StringBuilder("Film[").append("title=").append(this.title).append("]").toString(); } }
static final /* record */ class Actor { private final String firstName; private final String lastName; public Actor(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } public String firstName() { return firstName; } public String lastName() { return lastName; } @Override public boolean equals(Object o) { if (!(o instanceof Actor)) return false; Actor other = (Actor) o; if (!java.util.Objects.equals(this.firstName, other.firstName)) return false; if (!java.util.Objects.equals(this.lastName, other.lastName)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.firstName, this.lastName); } @Override public String toString() { return new StringBuilder("Actor[").append("firstName=").append(this.firstName).append(", lastName=").append(this.lastName).append("]").toString(); } }
static final /* record */ class Category { private final String name; public Category(String name) { this.name = name; } public String name() { return name; } @Override public boolean equals(Object o) { if (!(o instanceof Category)) return false; Category other = (Category) o; if (!java.util.Objects.equals(this.name, other.name)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.name); } @Override public String toString() { return new StringBuilder("Category[").append("name=").append(this.name).append("]").toString(); } }
@Test
public void testMultisetMappingIntoJavaRecords() {

View File

@ -51,9 +51,9 @@ public class TestContainersTest {
}
}
final /* record */ class Film { private final String title; public Film(String title) { this.title = title; } public String title() { return title; } @Override public boolean equals(Object o) { if (!(o instanceof Film)) return false; Film other = (Film) o; if (!java.util.Objects.equals(this.title, other.title)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.title); } @Override public String toString() { return new StringBuilder("Film[").append("title=").append(this.title).append("]").toString(); } }
final /* record */ class Actor { private final String firstName; private final String lastName; public Actor(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } public String firstName() { return firstName; } public String lastName() { return lastName; } @Override public boolean equals(Object o) { if (!(o instanceof Actor)) return false; Actor other = (Actor) o; if (!java.util.Objects.equals(this.firstName, other.firstName)) return false; if (!java.util.Objects.equals(this.lastName, other.lastName)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.firstName, this.lastName); } @Override public String toString() { return new StringBuilder("Actor[").append("firstName=").append(this.firstName).append(", lastName=").append(this.lastName).append("]").toString(); } }
final /* record */ class Category { private final String name; public Category(String name) { this.name = name; } public String name() { return name; } @Override public boolean equals(Object o) { if (!(o instanceof Category)) return false; Category other = (Category) o; if (!java.util.Objects.equals(this.name, other.name)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.name); } @Override public String toString() { return new StringBuilder("Category[").append("name=").append(this.name).append("]").toString(); } }
static final /* record */ class Film { private final String title; public Film(String title) { this.title = title; } public String title() { return title; } @Override public boolean equals(Object o) { if (!(o instanceof Film)) return false; Film other = (Film) o; if (!java.util.Objects.equals(this.title, other.title)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.title); } @Override public String toString() { return new StringBuilder("Film[").append("title=").append(this.title).append("]").toString(); } }
static final /* record */ class Actor { private final String firstName; private final String lastName; public Actor(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } public String firstName() { return firstName; } public String lastName() { return lastName; } @Override public boolean equals(Object o) { if (!(o instanceof Actor)) return false; Actor other = (Actor) o; if (!java.util.Objects.equals(this.firstName, other.firstName)) return false; if (!java.util.Objects.equals(this.lastName, other.lastName)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.firstName, this.lastName); } @Override public String toString() { return new StringBuilder("Actor[").append("firstName=").append(this.firstName).append(", lastName=").append(this.lastName).append("]").toString(); } }
static final /* record */ class Category { private final String name; public Category(String name) { this.name = name; } public String name() { return name; } @Override public boolean equals(Object o) { if (!(o instanceof Category)) return false; Category other = (Category) o; if (!java.util.Objects.equals(this.name, other.name)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.name); } @Override public String toString() { return new StringBuilder("Category[").append("name=").append(this.name).append("]").toString(); } }
@Test
public void testMultisetMappingIntoJavaRecords() {