aboutsummaryrefslogtreecommitdiff
path: root/website/usageExamples/experimental/ExtensionMethodExample_pre.jpage
diff options
context:
space:
mode:
Diffstat (limited to 'website/usageExamples/experimental/ExtensionMethodExample_pre.jpage')
-rw-r--r--website/usageExamples/experimental/ExtensionMethodExample_pre.jpage24
1 files changed, 24 insertions, 0 deletions
diff --git a/website/usageExamples/experimental/ExtensionMethodExample_pre.jpage b/website/usageExamples/experimental/ExtensionMethodExample_pre.jpage
new file mode 100644
index 00000000..b3b9f1fa
--- /dev/null
+++ b/website/usageExamples/experimental/ExtensionMethodExample_pre.jpage
@@ -0,0 +1,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();
+ }
+}