В вашем фрагменте есть некоторые синтаксические ошибки, перечисление должно выглядеть примерно так:
enum UserType {
ADMIN(true), MODERATOR(true), DEVELOPER(false);
private final boolean editPermission;
UserType(final boolean editPermission) {
this.editPermission = editPermission;
}
public boolean hasEditPermission() {
return editPermission;
}
}
Когда речь идет о методе userTypeToEditPermission()
, я предполагаю, что они хотят отобразить из UserType
имя (Enum::name
) до editPermission
(UserType::hasEditPermission
), которое можно создать следующим образом:
return Stream.of(UserType.values()).collect(Collectors.toMap(Enum::name, UserType::hasEditPermission));
Это создает поток для всех значений UserType
, а затем создает вышеупомянутое сопоставление:
{DEVELOPER=false, ADMIN=true, MODERATOR=true}