package org.nlamah.QL.Interfaces; import org.nlamah.QL.Model.Expression.Binary.AddExpression; import org.nlamah.QL.Model.Expression.Binary.AndExpression; import org.nlamah.QL.Model.Expression.Binary.DivideExpression; import org.nlamah.QL.Model.Expression.Binary.EqualExpression; import org.nlamah.QL.Model.Expression.Binary.GreaterThanEqualExpression; import org.nlamah.QL.Model.Expression.Binary.GreaterThanExpression; import org.nlamah.QL.Model.Expression.Binary.MultiplyExpression; import org.nlamah.QL.Model.Expression.Binary.OrExpression; import org.nlamah.QL.Model.Expression.Binary.SmallerThanEqualExpression; import org.nlamah.QL.Model.Expression.Binary.SmallerThanExpression; import org.nlamah.QL.Model.Expression.Binary.SubtractExpression; import org.nlamah.QL.Model.Expression.Binary.UnEqualExpression; import org.nlamah.QL.Model.Expression.Literal.BooleanLiteral; import org.nlamah.QL.Model.Expression.Literal.IdentifierLiteral; import org.nlamah.QL.Model.Expression.Literal.NumberLiteral; import org.nlamah.QL.Model.Expression.Literal.TextLiteral; import org.nlamah.QL.Model.Expression.Unary.MinusExpression; import org.nlamah.QL.Model.Expression.Unary.NotExpression; import org.nlamah.QL.Model.Expression.Unary.PlusExpression; import org.nlamah.QL.Model.Form.ComputedQuestion; import org.nlamah.QL.Model.Form.ConditionalBlock; import org.nlamah.QL.Model.Form.ElseIfThenBlock; import org.nlamah.QL.Model.Form.ElseThenBlock; import org.nlamah.QL.Model.Form.Form; import org.nlamah.QL.Model.Form.IfThenBlock; import org.nlamah.QL.Model.Form.InputQuestion; import org.nlamah.QL.Model.Form.Abstract.QLNode; public interface QLNodeVisitor { public QLNode visit(AddExpression addExpression); public QLNode visit(AndExpression andExpression); public QLNode visit(DivideExpression divideExpression); public QLNode visit(EqualExpression equalExpression); public QLNode visit(GreaterThanExpression greaterThanExpression); public QLNode visit(GreaterThanEqualExpression greaterThanEqualExpression); public QLNode visit(MultiplyExpression multiplyExpression); public QLNode visit(OrExpression orExpression); public QLNode visit(SmallerThanExpression smallerThanExpression); public QLNode visit(SmallerThanEqualExpression smallerThanEqualExpression); public QLNode visit(SubtractExpression subtractExpression); public QLNode visit(UnEqualExpression unEqualExpression); public QLNode visit(BooleanLiteral booleanLiteral); public QLNode visit(IdentifierLiteral identifierLiteral); public QLNode visit(NumberLiteral numberLiteral); public QLNode visit(TextLiteral textLiteral); public QLNode visit(MinusExpression minusExpression); public QLNode visit(NotExpression notExpression); public QLNode visit(PlusExpression plusExpression); public QLNode visit(ConditionalBlock conditionalBlock); public QLNode visit(ElseIfThenBlock elseIfThenBlock); public QLNode visit(ElseThenBlock elseThenBlock); public QLNode visit(Form form); public QLNode visit(IfThenBlock ifThenBlock); public QLNode visit(InputQuestion inputQuestion); public QLNode visit(ComputedQuestion computedQuestion); }