>I will reply specifically to the last sentence... I agree. Allowing access and assign methods makes the original programming much simpler, and yet allows to hide internal workings of the class later on. (Disclaimer - Still not an expert on Java... There may be a better way I am not aware of.)
http://java.dzone.com/articles/java-properties-withoutDisclaimer: I am not using java much in this century ;-)
regards
thomas