Нарушение предполагает, что уже существует функциональный интерфейс, который может решить цель того, что вы пытаетесь реализовать, используя свой пользовательский интерфейс, т.е. BiFunction<T,U,R>
.
Так что местамигде вы определяете метод makeRESTServiceGetCall
вашего XYZService
, вы можете просто создать BiFunction
в своем коде как:
BiFunction<String, Integer, XYZProfile> xyzProfileBiFunction = (string, integer) -> {
return xyzProfile; // the GET call implementation using 'string' &'integer'
};
, а затем в тех местах, где вы вызывали метод makeRESTServiceGetCall
, вы можете просто apply
описанную выше реализацию как:
XYZProfile xyzProfileNullPointer = xyzProfileBiFunction.apply("nullpointer", 0);
XYZProfile xyzProfileParth = xyzProfileBiFunction.apply("Parth", 1);