Class EfxExpressionTranslator06
- java.lang.Object
-
- eu.europa.ted.efx.sdk0.v6.EfxBaseListener
-
- eu.europa.ted.efx.sdk0.v6.EfxExpressionTranslator06
-
- All Implemented Interfaces:
EfxExpressionTranslator,EfxListener,org.antlr.v4.runtime.tree.ParseTreeListener
- Direct Known Subclasses:
EfxTemplateTranslator06
public class EfxExpressionTranslator06 extends EfxBaseListener implements EfxExpressionTranslator
The the goal of the EfxExpressionTranslator is to take an EFX expression and translate it to a target scripting language. The target language syntax is not hardcoded into the translator so that this class can be reused to translate to several different languages. Instead aScriptGeneratorinterface is used to provide specifics on the syntax of the target scripting language. Apart from writing expressions that can be translated and evaluated in a target scripting language (e.g. XPath/XQuery, JavaScript etc.), EFX also allows the definition of templates that can be translated to a target template markup language (e.g. XSLT, Thymeleaf etc.). TheEfxExpressionTranslator06only focuses on EFX expressions. To translate EFX templates you need to use theEfxTemplateTranslator06which derives from this class.
-
-
Field Summary
Fields Modifier and Type Field Description protected ContextStackefxContextThe context stack is used to keep track of context switching in nested expressions.protected org.antlr.v4.runtime.BaseErrorListenererrorListenerprotected ScriptGeneratorscriptThe ScriptGenerator is called to determine the target language syntax whenever needed.protected CallStackstackThe stack is used by the methods of this listener to pass data to each other as the parse tree is being walked.protected SymbolResolversymbolsSymbols are the field identifiers and node identifiers.
-
Constructor Summary
Constructors Modifier Constructor Description protectedEfxExpressionTranslator06()EfxExpressionTranslator06(SymbolResolver symbolResolver, ScriptGenerator scriptGenerator, org.antlr.v4.runtime.BaseErrorListener errorListener)
-
Method Summary
-
Methods inherited from class eu.europa.ted.efx.sdk0.v6.EfxBaseListener
enterAdditionExpression, enterAssetId, enterAssetType, enterBooleanComparison, enterBooleanFunctionExpression, enterBooleanLiteral, enterBooleanLiteralExpression, enterBooleanReferenceExpression, enterCodeList, enterCodelistId, enterCodelistReference, enterConcatFunction, enterContainsFunction, enterContextDeclarationBlock, enterCountFunction, enterDateComparison, enterDateExpression, enterDateFromStringFunction, enterDateLiteral, enterDateMinusMeasureFunction, enterDatePlusMeasureFunction, enterDateSubtractionExpression, enterDurationAdditionExpression, enterDurationComparison, enterDurationLeftMultiplicationExpression, enterDurationLiteral, enterDurationLiteralExpression, enterDurationReferenceExpression, enterDurationRightMultiplicationExpression, enterDurationSubtractionExpression, enterEmptinessCondition, enterEndsWithFunction, enterEveryRule, enterExplicitList, enterExpression, enterFalseBooleanLiteral, enterFieldContext, enterFieldReference, enterFieldReferenceInOtherNotice, enterFieldReferenceWithFieldContextOverride, enterFieldReferenceWithNodeContextOverride, enterFieldReferenceWithPredicate, enterFieldValueComparison, enterFormatNumberFunction, enterInListCondition, enterLabelTemplate, enterLabelType, enterLikePatternCondition, enterLogicalAndCondition, enterLogicalOrCondition, enterMultiplicationExpression, enterNodeContext, enterNodeReference, enterNodeReferenceInOtherNotice, enterNodeReferenceWithPredicate, enterNotFunction, enterNoticeReference, enterNumberFunction, enterNumericComparison, enterNumericFunctionExpression, enterNumericLiteral, enterNumericLiteralExpression, enterNumericReferenceExpression, enterParenthesizedBooleanExpression, enterParenthesizedDurationExpression, enterParenthesizedNumericExpression, enterPresenceCondition, enterSetReference, enterShorthandBtLabelReference, enterShorthandContextFieldLabelReference, enterShorthandContextFieldValueReference, enterShorthandContextLabelReference, enterShorthandFieldLabelReference, enterShorthandFieldValueLabelReference, enterSimpleFieldReference, enterSimpleNodeReference, enterStandardExpressionBlock, enterStandardLabelReference, enterStartsWithFunction, enterStringComparison, enterStringExpression, enterStringLengthFunction, enterStringLiteral, enterSubstringFunction, enterSumFunction, enterTemplate, enterTemplateFile, enterTemplateLine, enterText, enterTextTemplate, enterTimeComparison, enterTimeExpression, enterTimeFromStringFunction, enterTimeLiteral, enterToStringFunction, enterTrueBooleanLiteral, enterUntypedAttributeValueReference, enterUntypedFieldValueReference, enterValueTemplate, enterWhitespace, exitAssetId, exitAssetType, exitBooleanFunctionExpression, exitBooleanLiteral, exitBooleanLiteralExpression, exitBooleanReferenceExpression, exitCodelistId, exitContextDeclarationBlock, exitDateExpression, exitDurationLiteralExpression, exitDurationReferenceExpression, exitEveryRule, exitExpression, exitFieldReference, exitLabelTemplate, exitLabelType, exitNodeReference, exitNodeReferenceInOtherNotice, exitNumericFunctionExpression, exitNumericLiteralExpression, exitNumericReferenceExpression, exitParenthesizedDurationExpression, exitSetReference, exitShorthandBtLabelReference, exitShorthandContextFieldLabelReference, exitShorthandContextFieldValueReference, exitShorthandContextLabelReference, exitShorthandFieldLabelReference, exitShorthandFieldValueLabelReference, exitStandardExpressionBlock, exitStandardLabelReference, exitStringExpression, exitTemplate, exitTemplateFile, exitTemplateLine, exitText, exitTextTemplate, exitTimeExpression, exitValueTemplate, exitWhitespace, visitErrorNode, visitTerminal
-
-
-
-
Field Detail
-
stack
protected CallStack stack
The stack is used by the methods of this listener to pass data to each other as the parse tree is being walked.
-
efxContext
protected ContextStack efxContext
The context stack is used to keep track of context switching in nested expressions.
-
symbols
protected SymbolResolver symbols
Symbols are the field identifiers and node identifiers. The symbols map is used to resolve them to their location in the data source (typically their XPath).
-
script
protected ScriptGenerator script
The ScriptGenerator is called to determine the target language syntax whenever needed.
-
errorListener
protected org.antlr.v4.runtime.BaseErrorListener errorListener
-
-
Constructor Detail
-
EfxExpressionTranslator06
protected EfxExpressionTranslator06()
-
EfxExpressionTranslator06
public EfxExpressionTranslator06(SymbolResolver symbolResolver, ScriptGenerator scriptGenerator, org.antlr.v4.runtime.BaseErrorListener errorListener)
-
-
Method Detail
-
translateExpression
public String translateExpression(String expression, String... expressionParameters)
- Specified by:
translateExpressionin interfaceEfxExpressionTranslator
-
getFieldIdFromChildSimpleFieldReferenceContext
protected static String getFieldIdFromChildSimpleFieldReferenceContext(org.antlr.v4.runtime.ParserRuleContext ctx)
Helper method that starts from a givenParserRuleContextand recursively searches for aEfxParser.SimpleFieldReferenceContextto locate a field identifier.
-
getNodeIdFromChildSimpleNodeReferenceContext
protected static String getNodeIdFromChildSimpleNodeReferenceContext(org.antlr.v4.runtime.ParserRuleContext ctx)
Helper method that starts from a givenParserRuleContextand recursively searches for aEfxParser.SimpleNodeReferenceContextto locate a node identifier.
-
enterSingleExpression
public void enterSingleExpression(EfxParser.SingleExpressionContext ctx)
Description copied from class:EfxBaseListenerEnter a parse tree produced byEfxParser.singleExpression().The default implementation does nothing.
- Specified by:
enterSingleExpressionin interfaceEfxListener- Overrides:
enterSingleExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitSingleExpression
public void exitSingleExpression(EfxParser.SingleExpressionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.singleExpression().The default implementation does nothing.
- Specified by:
exitSingleExpressionin interfaceEfxListener- Overrides:
exitSingleExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitParenthesizedBooleanExpression
public void exitParenthesizedBooleanExpression(EfxParser.ParenthesizedBooleanExpressionContext ctx)
Boolean expressions- Specified by:
exitParenthesizedBooleanExpressionin interfaceEfxListener- Overrides:
exitParenthesizedBooleanExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitLogicalAndCondition
public void exitLogicalAndCondition(EfxParser.LogicalAndConditionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thelogicalAndConditionlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitLogicalAndConditionin interfaceEfxListener- Overrides:
exitLogicalAndConditionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitLogicalOrCondition
public void exitLogicalOrCondition(EfxParser.LogicalOrConditionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thelogicalOrConditionlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitLogicalOrConditionin interfaceEfxListener- Overrides:
exitLogicalOrConditionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitFieldValueComparison
public void exitFieldValueComparison(EfxParser.FieldValueComparisonContext ctx)
Boolean expressions - Comparisons- Specified by:
exitFieldValueComparisonin interfaceEfxListener- Overrides:
exitFieldValueComparisonin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitStringComparison
public void exitStringComparison(EfxParser.StringComparisonContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thestringComparisonlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitStringComparisonin interfaceEfxListener- Overrides:
exitStringComparisonin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitNumericComparison
public void exitNumericComparison(EfxParser.NumericComparisonContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thenumericComparisonlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitNumericComparisonin interfaceEfxListener- Overrides:
exitNumericComparisonin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitBooleanComparison
public void exitBooleanComparison(EfxParser.BooleanComparisonContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thebooleanComparisonlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitBooleanComparisonin interfaceEfxListener- Overrides:
exitBooleanComparisonin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDateComparison
public void exitDateComparison(EfxParser.DateComparisonContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thedateComparisonlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitDateComparisonin interfaceEfxListener- Overrides:
exitDateComparisonin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitTimeComparison
public void exitTimeComparison(EfxParser.TimeComparisonContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thetimeComparisonlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitTimeComparisonin interfaceEfxListener- Overrides:
exitTimeComparisonin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDurationComparison
public void exitDurationComparison(EfxParser.DurationComparisonContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thedurationComparisonlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitDurationComparisonin interfaceEfxListener- Overrides:
exitDurationComparisonin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitEmptinessCondition
public void exitEmptinessCondition(EfxParser.EmptinessConditionContext ctx)
Boolean expressions - Conditions- Specified by:
exitEmptinessConditionin interfaceEfxListener- Overrides:
exitEmptinessConditionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitPresenceCondition
public void exitPresenceCondition(EfxParser.PresenceConditionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thepresenceConditionlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitPresenceConditionin interfaceEfxListener- Overrides:
exitPresenceConditionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitLikePatternCondition
public void exitLikePatternCondition(EfxParser.LikePatternConditionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thelikePatternConditionlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitLikePatternConditionin interfaceEfxListener- Overrides:
exitLikePatternConditionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitInListCondition
public void exitInListCondition(EfxParser.InListConditionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by theinListConditionlabeled alternative inEfxParser.booleanExpression().The default implementation does nothing.
- Specified by:
exitInListConditionin interfaceEfxListener- Overrides:
exitInListConditionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitAdditionExpression
public void exitAdditionExpression(EfxParser.AdditionExpressionContext ctx)
Numeric expressions- Specified by:
exitAdditionExpressionin interfaceEfxListener- Overrides:
exitAdditionExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitMultiplicationExpression
public void exitMultiplicationExpression(EfxParser.MultiplicationExpressionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by themultiplicationExpressionlabeled alternative inEfxParser.numericExpression().The default implementation does nothing.
- Specified by:
exitMultiplicationExpressionin interfaceEfxListener- Overrides:
exitMultiplicationExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitParenthesizedNumericExpression
public void exitParenthesizedNumericExpression(EfxParser.ParenthesizedNumericExpressionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by theparenthesizedNumericExpressionlabeled alternative inEfxParser.numericExpression().The default implementation does nothing.
- Specified by:
exitParenthesizedNumericExpressionin interfaceEfxListener- Overrides:
exitParenthesizedNumericExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDurationAdditionExpression
public void exitDurationAdditionExpression(EfxParser.DurationAdditionExpressionContext ctx)
Duration Expressions- Specified by:
exitDurationAdditionExpressionin interfaceEfxListener- Overrides:
exitDurationAdditionExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDurationSubtractionExpression
public void exitDurationSubtractionExpression(EfxParser.DurationSubtractionExpressionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thedurationSubtractionExpressionlabeled alternative inEfxParser.durationExpression().The default implementation does nothing.
- Specified by:
exitDurationSubtractionExpressionin interfaceEfxListener- Overrides:
exitDurationSubtractionExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDurationLeftMultiplicationExpression
public void exitDurationLeftMultiplicationExpression(EfxParser.DurationLeftMultiplicationExpressionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thedurationLeftMultiplicationExpressionlabeled alternative inEfxParser.durationExpression().The default implementation does nothing.
- Specified by:
exitDurationLeftMultiplicationExpressionin interfaceEfxListener- Overrides:
exitDurationLeftMultiplicationExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDurationRightMultiplicationExpression
public void exitDurationRightMultiplicationExpression(EfxParser.DurationRightMultiplicationExpressionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thedurationRightMultiplicationExpressionlabeled alternative inEfxParser.durationExpression().The default implementation does nothing.
- Specified by:
exitDurationRightMultiplicationExpressionin interfaceEfxListener- Overrides:
exitDurationRightMultiplicationExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDateSubtractionExpression
public void exitDateSubtractionExpression(EfxParser.DateSubtractionExpressionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thedateSubtractionExpressionlabeled alternative inEfxParser.durationExpression().The default implementation does nothing.
- Specified by:
exitDateSubtractionExpressionin interfaceEfxListener- Overrides:
exitDateSubtractionExpressionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitCodeList
public void exitCodeList(EfxParser.CodeListContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thecodeListlabeled alternative inEfxParser.list().The default implementation does nothing.
- Specified by:
exitCodeListin interfaceEfxListener- Overrides:
exitCodeListin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitExplicitList
public void exitExplicitList(EfxParser.ExplicitListContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by theexplicitListlabeled alternative inEfxParser.list().The default implementation does nothing.
- Specified by:
exitExplicitListin interfaceEfxListener- Overrides:
exitExplicitListin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitNumericLiteral
public void exitNumericLiteral(EfxParser.NumericLiteralContext ctx)
Literals- Specified by:
exitNumericLiteralin interfaceEfxListener- Overrides:
exitNumericLiteralin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitStringLiteral
public void exitStringLiteral(EfxParser.StringLiteralContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.stringLiteral().The default implementation does nothing.
- Specified by:
exitStringLiteralin interfaceEfxListener- Overrides:
exitStringLiteralin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitTrueBooleanLiteral
public void exitTrueBooleanLiteral(EfxParser.TrueBooleanLiteralContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.trueBooleanLiteral().The default implementation does nothing.
- Specified by:
exitTrueBooleanLiteralin interfaceEfxListener- Overrides:
exitTrueBooleanLiteralin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitFalseBooleanLiteral
public void exitFalseBooleanLiteral(EfxParser.FalseBooleanLiteralContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.falseBooleanLiteral().The default implementation does nothing.
- Specified by:
exitFalseBooleanLiteralin interfaceEfxListener- Overrides:
exitFalseBooleanLiteralin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDateLiteral
public void exitDateLiteral(EfxParser.DateLiteralContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.dateLiteral().The default implementation does nothing.
- Specified by:
exitDateLiteralin interfaceEfxListener- Overrides:
exitDateLiteralin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitTimeLiteral
public void exitTimeLiteral(EfxParser.TimeLiteralContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.timeLiteral().The default implementation does nothing.
- Specified by:
exitTimeLiteralin interfaceEfxListener- Overrides:
exitTimeLiteralin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDurationLiteral
public void exitDurationLiteral(EfxParser.DurationLiteralContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.durationLiteral().The default implementation does nothing.
- Specified by:
exitDurationLiteralin interfaceEfxListener- Overrides:
exitDurationLiteralin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitSimpleNodeReference
public void exitSimpleNodeReference(EfxParser.SimpleNodeReferenceContext ctx)
References- Specified by:
exitSimpleNodeReferencein interfaceEfxListener- Overrides:
exitSimpleNodeReferencein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitSimpleFieldReference
public void exitSimpleFieldReference(EfxParser.SimpleFieldReferenceContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.simpleFieldReference().The default implementation does nothing.
- Specified by:
exitSimpleFieldReferencein interfaceEfxListener- Overrides:
exitSimpleFieldReferencein classEfxBaseListener- Parameters:
ctx- the parse tree
-
enterAbsoluteFieldReference
public void enterAbsoluteFieldReference(EfxParser.AbsoluteFieldReferenceContext ctx)
Description copied from class:EfxBaseListenerEnter a parse tree produced byEfxParser.absoluteFieldReference().The default implementation does nothing.
- Specified by:
enterAbsoluteFieldReferencein interfaceEfxListener- Overrides:
enterAbsoluteFieldReferencein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitAbsoluteFieldReference
public void exitAbsoluteFieldReference(EfxParser.AbsoluteFieldReferenceContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.absoluteFieldReference().The default implementation does nothing.
- Specified by:
exitAbsoluteFieldReferencein interfaceEfxListener- Overrides:
exitAbsoluteFieldReferencein classEfxBaseListener- Parameters:
ctx- the parse tree
-
enterAbsoluteNodeReference
public void enterAbsoluteNodeReference(EfxParser.AbsoluteNodeReferenceContext ctx)
Description copied from class:EfxBaseListenerEnter a parse tree produced byEfxParser.absoluteNodeReference().The default implementation does nothing.
- Specified by:
enterAbsoluteNodeReferencein interfaceEfxListener- Overrides:
enterAbsoluteNodeReferencein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitAbsoluteNodeReference
public void exitAbsoluteNodeReference(EfxParser.AbsoluteNodeReferenceContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.absoluteNodeReference().The default implementation does nothing.
- Specified by:
exitAbsoluteNodeReferencein interfaceEfxListener- Overrides:
exitAbsoluteNodeReferencein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitNodeReferenceWithPredicate
public void exitNodeReferenceWithPredicate(EfxParser.NodeReferenceWithPredicateContext ctx)
References with Predicates- Specified by:
exitNodeReferenceWithPredicatein interfaceEfxListener- Overrides:
exitNodeReferenceWithPredicatein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitFieldReferenceWithPredicate
public void exitFieldReferenceWithPredicate(EfxParser.FieldReferenceWithPredicateContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.fieldReferenceWithPredicate().The default implementation does nothing.
- Specified by:
exitFieldReferenceWithPredicatein interfaceEfxListener- Overrides:
exitFieldReferenceWithPredicatein classEfxBaseListener- Parameters:
ctx- the parse tree
-
enterPredicate
public void enterPredicate(EfxParser.PredicateContext ctx)
Any field references in the predicate must be resolved relative to the field on which the predicate is applied. Therefore we need to switch to the field's context while the predicate is being parsed.- Specified by:
enterPredicatein interfaceEfxListener- Overrides:
enterPredicatein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitPredicate
public void exitPredicate(EfxParser.PredicateContext ctx)
After the predicate is parsed we need to switch back to the previous context.- Specified by:
exitPredicatein interfaceEfxListener- Overrides:
exitPredicatein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitNoticeReference
public void exitNoticeReference(EfxParser.NoticeReferenceContext ctx)
External References- Specified by:
exitNoticeReferencein interfaceEfxListener- Overrides:
exitNoticeReferencein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitFieldReferenceInOtherNotice
public void exitFieldReferenceInOtherNotice(EfxParser.FieldReferenceInOtherNoticeContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced byEfxParser.fieldReferenceInOtherNotice().The default implementation does nothing.
- Specified by:
exitFieldReferenceInOtherNoticein interfaceEfxListener- Overrides:
exitFieldReferenceInOtherNoticein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitUntypedFieldValueReference
public void exitUntypedFieldValueReference(EfxParser.UntypedFieldValueReferenceContext ctx)
Value References- Specified by:
exitUntypedFieldValueReferencein interfaceEfxListener- Overrides:
exitUntypedFieldValueReferencein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitUntypedAttributeValueReference
public void exitUntypedAttributeValueReference(EfxParser.UntypedAttributeValueReferenceContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by theuntypedAttributeValueReferencelabeled alternative inEfxParser.fieldValueReference().The default implementation does nothing.
- Specified by:
exitUntypedAttributeValueReferencein interfaceEfxListener- Overrides:
exitUntypedAttributeValueReferencein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitFieldContext
public void exitFieldContext(EfxParser.FieldContextContext ctx)
Handles expressions of the form ContextField::ReferencedField. Changes the context before the reference is resolved.- Specified by:
exitFieldContextin interfaceEfxListener- Overrides:
exitFieldContextin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitFieldReferenceWithFieldContextOverride
public void exitFieldReferenceWithFieldContextOverride(EfxParser.FieldReferenceWithFieldContextOverrideContext ctx)
Handles expressions of the form ContextField::ReferencedField. Changes the context before the reference is resolved.- Specified by:
exitFieldReferenceWithFieldContextOverridein interfaceEfxListener- Overrides:
exitFieldReferenceWithFieldContextOverridein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitNodeContext
public void exitNodeContext(EfxParser.NodeContextContext ctx)
Handles expressions of the form ContextNode::ReferencedField. Changes the context before the reference is resolved.- Specified by:
exitNodeContextin interfaceEfxListener- Overrides:
exitNodeContextin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitFieldReferenceWithNodeContextOverride
public void exitFieldReferenceWithNodeContextOverride(EfxParser.FieldReferenceWithNodeContextOverrideContext ctx)
Handles expressions of the form ContextNode::ReferencedField. Restores the context after the reference is resolved.- Specified by:
exitFieldReferenceWithNodeContextOverridein interfaceEfxListener- Overrides:
exitFieldReferenceWithNodeContextOverridein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitCodelistReference
public void exitCodelistReference(EfxParser.CodelistReferenceContext ctx)
Other References- Specified by:
exitCodelistReferencein interfaceEfxListener- Overrides:
exitCodelistReferencein classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitNotFunction
public void exitNotFunction(EfxParser.NotFunctionContext ctx)
Boolean functions- Specified by:
exitNotFunctionin interfaceEfxListener- Overrides:
exitNotFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitContainsFunction
public void exitContainsFunction(EfxParser.ContainsFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thecontainsFunctionlabeled alternative inEfxParser.booleanFunction().The default implementation does nothing.
- Specified by:
exitContainsFunctionin interfaceEfxListener- Overrides:
exitContainsFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitStartsWithFunction
public void exitStartsWithFunction(EfxParser.StartsWithFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thestartsWithFunctionlabeled alternative inEfxParser.booleanFunction().The default implementation does nothing.
- Specified by:
exitStartsWithFunctionin interfaceEfxListener- Overrides:
exitStartsWithFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitEndsWithFunction
public void exitEndsWithFunction(EfxParser.EndsWithFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by theendsWithFunctionlabeled alternative inEfxParser.booleanFunction().The default implementation does nothing.
- Specified by:
exitEndsWithFunctionin interfaceEfxListener- Overrides:
exitEndsWithFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitCountFunction
public void exitCountFunction(EfxParser.CountFunctionContext ctx)
Numeric functions- Specified by:
exitCountFunctionin interfaceEfxListener- Overrides:
exitCountFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitNumberFunction
public void exitNumberFunction(EfxParser.NumberFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thenumberFunctionlabeled alternative inEfxParser.numericFunction().The default implementation does nothing.
- Specified by:
exitNumberFunctionin interfaceEfxListener- Overrides:
exitNumberFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitSumFunction
public void exitSumFunction(EfxParser.SumFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thesumFunctionlabeled alternative inEfxParser.numericFunction().The default implementation does nothing.
- Specified by:
exitSumFunctionin interfaceEfxListener- Overrides:
exitSumFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitStringLengthFunction
public void exitStringLengthFunction(EfxParser.StringLengthFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thestringLengthFunctionlabeled alternative inEfxParser.numericFunction().The default implementation does nothing.
- Specified by:
exitStringLengthFunctionin interfaceEfxListener- Overrides:
exitStringLengthFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitSubstringFunction
public void exitSubstringFunction(EfxParser.SubstringFunctionContext ctx)
String functions- Specified by:
exitSubstringFunctionin interfaceEfxListener- Overrides:
exitSubstringFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitToStringFunction
public void exitToStringFunction(EfxParser.ToStringFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thetoStringFunctionlabeled alternative inEfxParser.stringFunction().The default implementation does nothing.
- Specified by:
exitToStringFunctionin interfaceEfxListener- Overrides:
exitToStringFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitConcatFunction
public void exitConcatFunction(EfxParser.ConcatFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by theconcatFunctionlabeled alternative inEfxParser.stringFunction().The default implementation does nothing.
- Specified by:
exitConcatFunctionin interfaceEfxListener- Overrides:
exitConcatFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitFormatNumberFunction
public void exitFormatNumberFunction(EfxParser.FormatNumberFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by theformatNumberFunctionlabeled alternative inEfxParser.stringFunction().The default implementation does nothing.
- Specified by:
exitFormatNumberFunctionin interfaceEfxListener- Overrides:
exitFormatNumberFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDateFromStringFunction
public void exitDateFromStringFunction(EfxParser.DateFromStringFunctionContext ctx)
Date functions- Specified by:
exitDateFromStringFunctionin interfaceEfxListener- Overrides:
exitDateFromStringFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDatePlusMeasureFunction
public void exitDatePlusMeasureFunction(EfxParser.DatePlusMeasureFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thedatePlusMeasureFunctionlabeled alternative inEfxParser.dateFunction().The default implementation does nothing.
- Specified by:
exitDatePlusMeasureFunctionin interfaceEfxListener- Overrides:
exitDatePlusMeasureFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitDateMinusMeasureFunction
public void exitDateMinusMeasureFunction(EfxParser.DateMinusMeasureFunctionContext ctx)
Description copied from class:EfxBaseListenerExit a parse tree produced by thedateMinusMeasureFunctionlabeled alternative inEfxParser.dateFunction().The default implementation does nothing.
- Specified by:
exitDateMinusMeasureFunctionin interfaceEfxListener- Overrides:
exitDateMinusMeasureFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
exitTimeFromStringFunction
public void exitTimeFromStringFunction(EfxParser.TimeFromStringFunctionContext ctx)
Time functions- Specified by:
exitTimeFromStringFunctionin interfaceEfxListener- Overrides:
exitTimeFromStringFunctionin classEfxBaseListener- Parameters:
ctx- the parse tree
-
-