aboutsummaryrefslogtreecommitdiff
path: root/website/usageExamples/experimental/ExtensionMethodExample_pre.jpage
blob: b3b9f1fa8460c35ed45d2b757e3c87809646a228 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import lombok.experimental.ExtensionMethod;

@ExtensionMethod({java.util.Arrays.class, Extensions.class})
public class ExtensionMethodExample {
	public String test() {
		int[] intArray = {5, 3, 8, 2};
		intArray.sort();
		
		String iAmNull = null;
		return iAmNull.or("hELlO, WORlD!".toTitleCase());
	}
}

class Extensions {
	public static <T> T or(T obj, T ifNull) {
		return obj != null ? obj : ifNull;
	}
	
	public static String toTitleCase(String in) {
		if (in.isEmpty()) return in;
		return "" + Character.toTitleCase(in.charAt(0)) +
				in.substring(1).toLowerCase();
	}
}