private AbstractExpression parseExpressionNode ( VoltXMLElement exprNode ) { String elementName = exprNode . name . toLowerCase ( ) ; XMLElementExpressionParser parser = m_exprParsers . get ( elementName ) ; if ( parser == null ) { throw new PlanningErrorException ( "Unsupported expression node '" + elementName + "'" ) ; } AbstractExpression retval = parser . parse ( this , exprNode ) ; assert ( "asterisk" . equals ( elementName ) || retval != null ) ; return retval ; }
Given a VoltXMLElement expression node translate it into an AbstractExpression . This is mostly a lookup in the table m_exprParsers .