/******************************************************************************* * Copyright (c) 2010 Fraunhofer IWU and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Fraunhofer IWU - initial API and implementation *******************************************************************************/ package net.enilink.komma.parser.sparql.tree.visitor; import net.enilink.komma.parser.sparql.tree.BNode; import net.enilink.komma.parser.sparql.tree.BNodePropertyList; import net.enilink.komma.parser.sparql.tree.BasicGraphPattern; import net.enilink.komma.parser.sparql.tree.BooleanLiteral; import net.enilink.komma.parser.sparql.tree.Collection; import net.enilink.komma.parser.sparql.tree.ConstructQuery; import net.enilink.komma.parser.sparql.tree.Dataset; import net.enilink.komma.parser.sparql.tree.DescribeQuery; import net.enilink.komma.parser.sparql.tree.DoubleLiteral; import net.enilink.komma.parser.sparql.tree.GenericLiteral; import net.enilink.komma.parser.sparql.tree.GraphPattern; import net.enilink.komma.parser.sparql.tree.IntegerLiteral; import net.enilink.komma.parser.sparql.tree.IriRef; import net.enilink.komma.parser.sparql.tree.LimitModifier; import net.enilink.komma.parser.sparql.tree.MinusGraph; import net.enilink.komma.parser.sparql.tree.NamedGraph; import net.enilink.komma.parser.sparql.tree.OffsetModifier; import net.enilink.komma.parser.sparql.tree.OptionalGraph; import net.enilink.komma.parser.sparql.tree.OrderModifier; import net.enilink.komma.parser.sparql.tree.Prologue; import net.enilink.komma.parser.sparql.tree.PropertyList; import net.enilink.komma.parser.sparql.tree.QName; import net.enilink.komma.parser.sparql.tree.Query; import net.enilink.komma.parser.sparql.tree.SelectQuery; import net.enilink.komma.parser.sparql.tree.UnionGraph; import net.enilink.komma.parser.sparql.tree.Variable; import net.enilink.komma.parser.sparql.tree.expr.BuiltInCall; import net.enilink.komma.parser.sparql.tree.expr.FunctionCall; import net.enilink.komma.parser.sparql.tree.expr.GraphPatternExpr; import net.enilink.komma.parser.sparql.tree.expr.LogicalExpr; import net.enilink.komma.parser.sparql.tree.expr.NegateExpr; import net.enilink.komma.parser.sparql.tree.expr.NumericExpr; import net.enilink.komma.parser.sparql.tree.expr.RelationalExpr; public interface Visitor<R, T> { R askQuery(Query askQuery, T data); R basicGraphPattern(BasicGraphPattern nodePattern, T data); R bNode(BNode bNode, T data); R bNodePropertyList(BNodePropertyList bNode, T data); R booleanLiteral(BooleanLiteral booleanLiteral, T data); R builtInCall(BuiltInCall builtinCall, T data); R collection(Collection collection, T data); R constructQuery(ConstructQuery constructQuery, T data); R dataset(Dataset dataset, T data); R describeQuery(DescribeQuery describeQuery, T data); R doubleLiteral(DoubleLiteral doubleLiteral, T data); R functionCall(FunctionCall functionCall, T data); R genericLiteral(GenericLiteral genericLiteral, T data); R graphPattern(GraphPattern graphPattern, T data); R integerLiteral(IntegerLiteral numericLiteral, T data); R iriRef(IriRef iriRef, T data); R limitModifier(LimitModifier limitModifier, T data); R logicalExpr(LogicalExpr logicalExpr, T data); R minusGraph(MinusGraph minusGraph, T data); R namedGraph(NamedGraph namedGraph, T data); R negateExpr(NegateExpr negateExpr, T data); R numericExpr(NumericExpr numericExpr, T data); R offsetModifier(OffsetModifier offsetModifier, T data); R optionalGraph(OptionalGraph optionalGraph, T data); R orderModifier(OrderModifier orderModifier, T data); R prologue(Prologue prologue, T data); R propertyList(PropertyList propertyList, T data); R qName(QName qName, T data); R relationalExpr(RelationalExpr relationalExpr, T data); R selectQuery(SelectQuery selectQuery, T data); R unionGraph(UnionGraph unionGraph, T data); R variable(Variable variable, T data); R graphPatternExpr(GraphPatternExpr graphPatternExpr, T data); }