Annotation Type ExtensionMethod
Extension methods enable you to "add" methods to existing types without creating a new derived type, recompiling, or
otherwise modifying the original type. Extension methods are a special kind of static method, but they are called as
if they were instance methods on the extended type.
Complete documentation is found at the project lombok features page for @ExtensionMethod.
Before:
@ExtensionMethod(java.util.Arrays.class) class Example { private void example() { long[] values = new long[] { 2, 5, 7, 9 }; values.copyOf(3).sort(); } }After:
class Example { private void example() { long[] values = new long[] { 2, 5, 7, 9 }; java.util.Arrays.sort(java.util.Arrays.copyOf(values, 3)); } }
-
Required Element Summary
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionboolean
Iftrue
, an applicable extension method is used (if found) even if the method call already was compilable (this is the default).
-
Element Details
-
value
Class<?>[] value- Returns:
- All types whose static methods will be exposed as extension methods.
-
suppressBaseMethods
boolean suppressBaseMethodsIftrue
, an applicable extension method is used (if found) even if the method call already was compilable (this is the default). Iffalse
, an extension method is only used if the method call is not also defined by the type itself.- Returns:
- Whether or not to override already existing methods with the extension.
- Default:
true
-