• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CyclopsMC / IntegratedDynamics / 20210191346

14 Dec 2025 03:32PM UTC coverage: 19.514% (-33.5%) from 53.061%
20210191346

push

github

rubensworks
Remove deprecations

663 of 8728 branches covered (7.6%)

Branch coverage included in aggregate %.

6786 of 29445 relevant lines covered (23.05%)

1.09 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/org/cyclops/integrateddynamics/api/advancement/criterion/VariablePredicate.java
1
package org.cyclops.integrateddynamics.api.advancement.criterion;
2

3
import org.cyclops.integrateddynamics.api.evaluate.EvaluationException;
4
import org.cyclops.integrateddynamics.api.evaluate.variable.IValueType;
5
import org.cyclops.integrateddynamics.api.evaluate.variable.IVariable;
6
import org.cyclops.integrateddynamics.core.evaluate.variable.ValueHelpers;
7

8
import java.util.Optional;
9

10
/**
11
 * A predicate for variables of all types.
12
 * @author rubensworks
13
 */
14
public class VariablePredicate<V extends IVariable> {
15

16
    public static final VariablePredicate ANY = new VariablePredicate<>(IVariable.class, Optional.empty(), Optional.empty());
×
17

18
    private final Class<V> variableClass;
19
    private final Optional<IValueType> valueType;
20
    private final Optional<ValuePredicate> valuePredicate;
21

22
    public VariablePredicate(Class<V> variableClass, Optional<IValueType> valueType, Optional<ValuePredicate> valuePredicate) {
×
23
        this.variableClass = variableClass;
×
24
        this.valueType = valueType;
×
25
        this.valuePredicate = valuePredicate;
×
26
    }
×
27

28
    public Optional<IValueType> getValueType() {
29
        return valueType;
×
30
    }
31

32
    public Optional<ValuePredicate> getValuePredicate() {
33
        return valuePredicate;
×
34
    }
35

36
    public final boolean test(IVariable variable) {
37
        try {
38
            return variableClass.isInstance(variable)
×
39
                    && (this.valueType.isEmpty() || ValueHelpers.correspondsTo(this.valueType.get(), variable.getType()))
×
40
                    && valuePredicate.orElse(ValuePredicate.ANY).test(variable.getValue())
×
41
                    && testTyped((V) variable);
×
42
        } catch (EvaluationException e) {
×
43
            return false;
×
44
        }
45
    }
46

47
    protected boolean testTyped(V variable) {
48
        return true;
×
49
    }
50

51
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc