20: Use resolver in PriceAlarm

This commit is contained in:
2026-06-27 20:01:47 +02:00
parent 05b0b6cb6a
commit 7a06d87f4a
@@ -5,8 +5,13 @@ import java.time.Instant;
public final class PriceAlarm {
public PriceAlarm(PriceAlarmDefinition definition, AlarmAction action) {
public PriceAlarm(
PriceAlarmDefinition definition,
AlarmVariableResolver variableResolver,
AlarmAction action
) {
this.definition = definition;
this.variableResolver = variableResolver;
this.action = action;
}
@@ -17,7 +22,10 @@ public final class PriceAlarm {
);
}
BigDecimal target = AlarmTargetParser.parse(definition.targetExpression());
BigDecimal target = AlarmTargetParser.parse(
variableResolver.resolve(definition.targetExpression())
);
boolean reached = definition.direction().reached(
price.priceUsd(),
target
@@ -84,6 +92,7 @@ public final class PriceAlarm {
}
private final PriceAlarmDefinition definition;
private final AlarmVariableResolver variableResolver;
private final AlarmAction action;
private Instant lastTriggeredAt;