All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.epam.jdi.light.elements.init.rules.InitRule Maven / Gradle / Ivy

There is a newer version: 1.6.0
Show newest version
package com.epam.jdi.light.elements.init.rules;

import com.epam.jdi.light.elements.init.SiteInfo;
import com.epam.jdi.tools.func.JFunc1;

import java.lang.reflect.Field;
import java.util.List;

import static com.epam.jdi.tools.LinqUtils.any;

/**
 * Created by Roman Iovlev on 26.09.2019
 * Email: [email protected]; Skype: roman.iovlev
 */
public class InitRule {
    public JFunc1 condition;
    public JFunc1 func;
    public InitRule(JFunc1 condition, JFunc1 func) {
        this.condition = condition;
        this.func = func;
    }
    public static InitRule iRule(JFunc1 condition, JFunc1 func) {
        return new InitRule(condition, func);
    }
    public static InitRule iRule(Class interfaceClass, JFunc1 func) {
        return new InitRule(f -> f.getType() == interfaceClass, func);
    }
    public static InitRule iRule(List interfaces, JFunc1 func) {
        return new InitRule(f -> any(interfaces, i -> f.getType() == i), func);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy