How to do method chaining in Java? o.m1().m2().m3().m4()

java, method-chaining

Solution

This pattern is called "Fluent Interfaces" (see Wikipedia)

Just `return this;` from the methods instead of returning nothing.

So for example

public void makeText(String text) {
    this.text = text;
}

would become

public Toast makeText(String text) {
    this.text = text;
    return this;
}

Problem

I've seen in many Java code notation that after a method we call another, here is an example. ``` Toast.makeText(text).setGravity(Gravity.TOP, 0, 0).setView(layout).show(); ``` As you see after calling `makeText` on the return we call `setGravity` and so far How can I do this with my own classes? Do I have to do anything special?

Original source