package com.intrbiz.bergamot.virtual; import java.io.StringReader; import java.util.List; import com.intrbiz.bergamot.virtual.operator.VirtualCheckOperator; import com.intrbiz.bergamot.virtual.parser.VirtualCheckExpressionParserInternal; import com.intrbiz.bergamot.virtual.reference.CheckReference; public class VirtualCheckExpressionParser { public static final VirtualCheckOperator parseVirtualCheckExpression(String expression) { try { try (StringReader reader = new StringReader(expression)) { VirtualCheckExpressionParserInternal parser = new VirtualCheckExpressionParserInternal(reader); return parser.readExpression(); } } catch (Exception e) { throw new RuntimeException("Failed to parse virtual check expression: '" + expression + "'", e); } } public static final List<CheckReference> parseParentsExpression(String expression) { try { try (StringReader reader = new StringReader(expression)) { VirtualCheckExpressionParserInternal parser = new VirtualCheckExpressionParserInternal(reader); return parser.readParents(); } } catch (Exception e) { throw new RuntimeException("Failed to parse parents expression: '" + expression + "'", e); } } }