initial commit
This commit is contained in:
22
src/main/java/de/cccwi/conditions/AttributeEquals.java
Normal file
22
src/main/java/de/cccwi/conditions/AttributeEquals.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package de.cccwi.conditions;
|
||||
|
||||
import de.cccwi.Attribute;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
public class AttributeEquals implements BiFunction<List<Attribute>, List<Object>, Boolean> {
|
||||
private final Attribute lhs;
|
||||
private final Attribute rhs;
|
||||
|
||||
public AttributeEquals(Attribute lhs, Attribute rhs) {
|
||||
assert lhs.type().equals(rhs.type());
|
||||
this.lhs = lhs;
|
||||
this.rhs = rhs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean apply(List<Attribute> attributes, List<Object> rows) {
|
||||
return rows.get(attributes.indexOf(lhs)).equals(rows.get(attributes.indexOf(rhs)));
|
||||
}
|
||||
}
|
||||
23
src/main/java/de/cccwi/conditions/GreaterThan.java
Normal file
23
src/main/java/de/cccwi/conditions/GreaterThan.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package de.cccwi.conditions;
|
||||
|
||||
import de.cccwi.Attribute;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
public class GreaterThan implements BiFunction<List<Attribute>, List<Object>, Boolean> {
|
||||
private final Attribute attribute;
|
||||
private final Integer value;
|
||||
|
||||
public GreaterThan(Attribute attribute, Integer value) {
|
||||
this.attribute = attribute;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean apply(List<Attribute> attributes, List<Object> rows) {
|
||||
var columnIndex = attributes.indexOf(attribute);
|
||||
assert attributes.get(columnIndex).type().equals(Integer.class);
|
||||
return ((Integer) rows.get(columnIndex)) > value;
|
||||
}
|
||||
}
|
||||
23
src/main/java/de/cccwi/conditions/GreaterThanEquals.java
Normal file
23
src/main/java/de/cccwi/conditions/GreaterThanEquals.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package de.cccwi.conditions;
|
||||
|
||||
import de.cccwi.Attribute;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
public class GreaterThanEquals implements BiFunction<List<Attribute>, List<Object>, Boolean> {
|
||||
private final Attribute attribute;
|
||||
private final Integer value;
|
||||
|
||||
public GreaterThanEquals(Attribute attribute, Integer value) {
|
||||
this.attribute = attribute;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean apply(List<Attribute> attributes, List<Object> rows) {
|
||||
var columnIndex = attributes.indexOf(attribute);
|
||||
assert attributes.get(columnIndex).type().equals(Integer.class);
|
||||
return ((Integer) rows.get(columnIndex)) >= value;
|
||||
}
|
||||
}
|
||||
23
src/main/java/de/cccwi/conditions/LessThan.java
Normal file
23
src/main/java/de/cccwi/conditions/LessThan.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package de.cccwi.conditions;
|
||||
|
||||
import de.cccwi.Attribute;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
public class LessThan implements BiFunction<List<Attribute>, List<Object>, Boolean> {
|
||||
private final Attribute attribute;
|
||||
private final Integer value;
|
||||
|
||||
public LessThan(Attribute attribute, Integer value) {
|
||||
this.attribute = attribute;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean apply(List<Attribute> attributes, List<Object> rows) {
|
||||
var columnIndex = attributes.indexOf(attribute);
|
||||
assert attributes.get(columnIndex).type().equals(Integer.class);
|
||||
return ((Integer) rows.get(columnIndex)) < value;
|
||||
}
|
||||
}
|
||||
23
src/main/java/de/cccwi/conditions/LessThanEquals.java
Normal file
23
src/main/java/de/cccwi/conditions/LessThanEquals.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package de.cccwi.conditions;
|
||||
|
||||
import de.cccwi.Attribute;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
public class LessThanEquals implements BiFunction<List<Attribute>, List<Object>, Boolean> {
|
||||
private final Attribute attribute;
|
||||
private final Integer value;
|
||||
|
||||
public LessThanEquals(Attribute attribute, Integer value) {
|
||||
this.attribute = attribute;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean apply(List<Attribute> attributes, List<Object> rows) {
|
||||
var columnIndex = attributes.indexOf(attribute);
|
||||
assert attributes.get(columnIndex).type().equals(Integer.class);
|
||||
return ((Integer) rows.get(columnIndex)) <= value;
|
||||
}
|
||||
}
|
||||
19
src/main/java/de/cccwi/conditions/Not.java
Normal file
19
src/main/java/de/cccwi/conditions/Not.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package de.cccwi.conditions;
|
||||
|
||||
import de.cccwi.Attribute;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
public class Not implements BiFunction<List<Attribute>, List<Object>, Boolean> {
|
||||
private BiFunction<List<Attribute>, List<Object>, Boolean> condition;
|
||||
|
||||
public Not(BiFunction<List<Attribute>, List<Object>, Boolean> condition) {
|
||||
this.condition = condition;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean apply(List<Attribute> attributes, List<Object> objects) {
|
||||
return !condition.apply(attributes, objects);
|
||||
}
|
||||
}
|
||||
22
src/main/java/de/cccwi/conditions/ValueEquals.java
Normal file
22
src/main/java/de/cccwi/conditions/ValueEquals.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package de.cccwi.conditions;
|
||||
|
||||
import de.cccwi.Attribute;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
public class ValueEquals implements BiFunction<List<Attribute>, List<Object>, Boolean> {
|
||||
private final Attribute lhs;
|
||||
private final Object rhs;
|
||||
|
||||
public ValueEquals(Attribute lhs, Object rhs) {
|
||||
assert lhs.type().isInstance(rhs);
|
||||
this.lhs = lhs;
|
||||
this.rhs = rhs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean apply(List<Attribute> attributes, List<Object> rows) {
|
||||
return rows.get(attributes.indexOf(lhs)).equals(rhs);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user