This issue has come up dozens of times.
First, it's clearly absurd to fill source code with boilerplate getter/
setter code. Even if IDEs can auto-generate, it still has to be
manually read/maintained.
What I don't understand is why language changes are needed to avoid
that.
Libraries and frameworks like JPA/Facelets/Spring/etc should use
explicit getter/setter methods if they exist and otherwise fallback on
raw exposed instance variables. Some Java libraries already do that.
That way for the 99% case, you just use a plain instance variable and
for the 1% case where you need non-trivial getter/setter logic you can
write them. Also, you can change your code at any time without
breaking compatibility.
class SomeClass {
// No getters/setters. Libraries like JPA/Facelets/Spring/etc can
// access directly in the absence of getters/setters
public int simpleProperty;
// Example where explicit getter/setter logic is actually needed.
private int complicatedProperty;
public int getComplicatedProperty() {
// Do something non-trivial
}
public void setComplicatedProperty(int value) {
// Do something non-trivial
}
}
BTW, JavaFX has a very elegant solution to the issue with binding.
Also, great Cay Horstmann interview
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---