Он просто возвращает EmployeeEnricher
, который в основном представляет собой Consumer<Builder>
(или функциональный интерфейс того же типа), который ничего не делает со своим параметром, означающим, что если класс, реализующий интерфейс, не @Override
этот метод,это станет его поведением по умолчанию (то есть ничего не произойдет).
В вашем приложении вы столкнетесь с разными типами сотрудников, которые, возможно, будут обогащаться различными способами, используя компоновщик, заданный в параметре, используя employeeEnricher().accept(builder)
Это означает, что реализация может означать для меня две вещи:
Либо дизайн плохой, и у всех сотрудников должна быть собственная реализация, то есть метод этого интерфейса не должен бытьdefault
, но просто классический abstract
метод интерфейса
Либо некоторые сотрудники не получают обогащения в контексте вашего приложения, и, таким образом, этот метод предлагает реализацию по умолчанию, имеющую смысл