X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=xpath%2Fyang-xpath-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fxpath%2Fapi%2FBigDecimalXPathMathSupport.java;h=9044c1d178731606adef80abb554d7b6e374efe5;hb=8c08ae05535ab2179b54c1a4edd264079b34dbaf;hp=437ff0dc50add0f1dc3d7285d8af33cf7555068a;hpb=4216ac5e7807383568681fa6b09e49a26c33f7c5;p=yangtools.git diff --git a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/BigDecimalXPathMathSupport.java b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/BigDecimalXPathMathSupport.java index 437ff0dc50..9044c1d178 100644 --- a/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/BigDecimalXPathMathSupport.java +++ b/xpath/yang-xpath-api/src/main/java/org/opendaylight/yangtools/yang/xpath/api/BigDecimalXPathMathSupport.java @@ -60,40 +60,19 @@ final class BigDecimalXPathMathSupport extends AbstractYangXPathMathSupport 0); - case GTE: - return YangBooleanConstantExpr.of(l.compareTo(r) >= 0); - case LT: - return YangBooleanConstantExpr.of(l.compareTo(r) < 0); - case LTE: - return YangBooleanConstantExpr.of(l.compareTo(r) <= 0); - case MINUS: - result = l.subtract(r); - break; - case MOD: - result = l.remainder(r); - break; - case MUL: - result = l.multiply(r); - break; - case NOT_EQUALS: - return YangBooleanConstantExpr.of(!l.equals(r)); - case PLUS: - result = l.add(r); - break; - default: - throw new IllegalStateException("Unhandled operator " + operator); - } - - return BigDecimalNumberExpr.of(result); + return switch (operator) { + case DIV -> BigDecimalNumberExpr.of(l.divide(r)); + case EQUALS -> YangBooleanConstantExpr.of(l.equals(r)); + case GT -> YangBooleanConstantExpr.of(l.compareTo(r) > 0); + case GTE -> YangBooleanConstantExpr.of(l.compareTo(r) >= 0); + case LT -> YangBooleanConstantExpr.of(l.compareTo(r) < 0); + case LTE -> YangBooleanConstantExpr.of(l.compareTo(r) <= 0); + case MINUS -> BigDecimalNumberExpr.of(l.subtract(r)); + case MOD -> BigDecimalNumberExpr.of(l.remainder(r)); + case MUL -> BigDecimalNumberExpr.of(l.multiply(r)); + case NOT_EQUALS -> YangBooleanConstantExpr.of(!l.equals(r)); + case PLUS -> BigDecimalNumberExpr.of(l.add(r)); + }; } @Override