/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ package org.opensearch.securityanalytics.rules.modifiers; import org.apache.commons.lang3.tuple.Pair; import org.opensearch.securityanalytics.rules.objects.SigmaDetectionItem; import org.opensearch.securityanalytics.rules.types.SigmaCompareExpression; import org.opensearch.securityanalytics.rules.types.SigmaNumber; import org.opensearch.securityanalytics.rules.types.SigmaType; import org.opensearch.securityanalytics.rules.utils.Either; import java.util.List; public class SigmaCompareModifier extends SigmaValueModifier { private String op; public SigmaCompareModifier(SigmaDetectionItem detectionItem, List> appliedModifiers) { super(detectionItem, appliedModifiers); } public void setOp(String op) { this.op = op; } @Override public Pair, Class> getTypeHints() { return Pair.of(SigmaNumber.class, SigmaCompareExpression.class); } @Override public Either> modify(Either> val) { if (val.isLeft()) { return Either.left(new SigmaCompareExpression((SigmaNumber) val.getLeft(), this.op)); } return null; } }