IntelliJ IDEA 2021.1 Help

Wrap return value

The Wrap Return Value refactoring allows you to select a method, and either create a wrapper class for its return values, or use an existing, compatible wrapper class. All returns from the method selected will be appropriately wrapped, and all calls to the method will have their returns unwrapped.

Wrapping a method's returns are useful, if your design changes in such a way that you want a method to return more information than originally planned. After wrapping, the wrapper class can be extended, allowing more data to be returned from the method. Also, it is common to wrap primitive return values, thus allowing interface and implementation to be decoupled as needed.

  1. Open the desired class in the editor and place the caret at the method whose returns you wish to wrap.

  2. Select Refactor | Wrap Return Value on the main menu, or on the context menu.

  3. In the dialog that opens, specify the name and package for the new wrapper class, or select an existing compatible wrapper class.

  4. Preview and apply changes.

Example

BeforeAfter
class Order { String customer; String getCustomer() { return customer; } }
class Order { String customer; Wrapper getCustomer() { return new Wrapper(customer); } } public class Wrapper { private final String value; public Wrapper(String value) { this.value = value; } public String getValue() { return value; } }
Last modified: 08 March 2021