Package org.immutables.func
Annotation Type Functional.BindParameters
- Enclosing class:
Functional
Place on non-accessor methods of abstract value type to
generate function to which parameters can be bound.
@Value.Immutable
@Functional
public abstract class Xyz {
@Value.Parameter
public abstract String getX();
@Functional.BindParameters
public String computeZ(String y) {
return getX() + y;
}
}
...
// Generated function
public static Functioninvalid input: '<'Xyz, String> computeZ(String y) {
return new Functioninvalid input: '<'Xyz, String>() {
@Override
public String apply(Xyz input) {
return input.computeZ(y);
}
@Override
public String toString() {
return "XyzFunctions.computeZ(y)";
}
}
}
...
// Use as
Functioninvalid input: '<'Xyz, String> fn = XyzFunctions.computeZ("Y");