Eclipse generate getters and setters and automatically apply them

eclipse, getter-setter, java

Solution

Use the `Refactor` menu. It has an item "encapsulate fields" which generates getters and setters just as "Source -> Generate Getters and Setters" does, but in addition it replaces all usages of the fields and makes the fields private.

(As a mnemonic: To change the structure of existing code (i.e. to refactor it), use the `Refactor` menu. To generate new code that is not used yet, use the `Source` menu. That is, if you create a new class with some getters and setters, you can use the help of the `Source` menu by coding the fields only and auto-generate the getters and setters afterwards. However if you want existing code to use getters and setters instead of direct field access, this is a classic case of code `Refactor`ing.)

Problem

In my Java code I directly accessed some member variables. Now I want to refactor and use getter and setters. How can I make Eclipse automatically replace all direct assignments with setters and each access with a getter? Right click -> Source -> Generate Getters and Setters just creates the functions but does not apply them in the rest of the code.

Original source

Related problems