LINUX.ORG.RU

История изменений

Исправление merhalak, (текущая версия) :

Может тебе хочется что-то вроде:

@FunctionalInterface
interface ColorFilter {
    boolean filter(String color);
}

interface Check {
    static boolean isWarm(String color) {
        return true; // заменить на проверку цвета
    }

    static boolean isDark(String color) {
        return true; // заменить на проверку цвета
    }

    static boolean isNeon(String color) {
        return true; // заменить на проверку цвета
    }
}

enum PredefinedColorFilter implements ColorFilter {
    WARM_DARK(c -> Check.isDark(c) && Check.isWarm(c)),
    NEON_BRIGHT(c -> Check.isNeon(c) && !Check.isDark(c)),
    /* ну и так далее */;

    private final ColorFilter e;

    PredefinedColorFilter(ColorFilter e) {
        this.e = e;
    }

    @Override
    public boolean filter(String color) {
        return e.filter(color);
    }
}
с короткой записью всех проверок в enum?

Не догоняю.

Исходная версия Deleted, :

Может тебе хочется что-то вроде:

@FunctionalInterface
interface ColorFilter {
    boolean filter(String color);
}

interface Check {
    static boolean isWarm(String color) {
        return true;
    }

    static boolean isDark(String color) {
        return true;
    }

    static boolean isNeon(String color) {
        return true;
    }
}

enum PredefinedColorFilter implements ColorFilter {
    WARM_DARK(c -> Check.isDark(c) && Check.isWarm(c)),
    NEON_BRIGHT(c -> Check.isNeon(c) && !Check.isDark(c)),
    /* ну и так далее */;

    private final ColorFilter e;

    PredefinedColorFilter(ColorFilter e) {
        this.e = e;
    }

    @Override
    public boolean filter(String color) {
        return e.filter(color);
    }
}
с короткой записью всех проверок в enum?

Не догоняю.