com.metamatrix.query.resolver.util
Class BindVariableVisitor

java.lang.Object
  extended by com.metamatrix.query.sql.LanguageVisitor
      extended by com.metamatrix.query.resolver.util.BindVariableVisitor

public class BindVariableVisitor
extends LanguageVisitor

Given a LanguageObject containing References and the List of String binding expressions from a query transformation, this visitor will parse and resolve each binding and set the resolved expression on the appropriate Reference, making sure to match up the correct binding with the correct Reference. The Reference is fully resolved after this happens.

Optionally, a Map can be built up which maps the String virtual group to a List of Reference objects which have bindings to an element of the virtual group key. This may be useful to have on hand the Reference objects which are dependent on the changing tuples of a virtual group during query processing.


Constructor Summary
BindVariableVisitor(java.util.List bindings, QueryMetadataInterface metadata)
          Constructor
 
Method Summary
static void bindReferences(LanguageObject obj, java.util.List bindings, QueryMetadataInterface metadata)
          Convenient static method for using this visitor
 MetaMatrixComponentException getComponentException()
           
 QueryResolverException getResolverException()
           
 void visit(Reference obj)
          Visit a Reference object and bind it based on the bindings
 void visit(StoredProcedure storedProcedure)
           
 
Methods inherited from class com.metamatrix.query.sql.LanguageVisitor
setAbort, shouldAbort, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BindVariableVisitor

public BindVariableVisitor(java.util.List bindings,
                           QueryMetadataInterface metadata)
Constructor

Parameters:
bindings - List of String binding expressions from query transformation node
metadata - source of metadata
Method Detail

getComponentException

public MetaMatrixComponentException getComponentException()

getResolverException

public QueryResolverException getResolverException()

visit

public void visit(Reference obj)
Visit a Reference object and bind it based on the bindings

Overrides:
visit in class LanguageVisitor
See Also:
LanguageVisitor.visit(Reference)

visit

public void visit(StoredProcedure storedProcedure)
Overrides:
visit in class LanguageVisitor

bindReferences

public static void bindReferences(LanguageObject obj,
                                  java.util.List bindings,
                                  QueryMetadataInterface metadata)
                           throws QueryResolverException,
                                  MetaMatrixComponentException
Convenient static method for using this visitor

Parameters:
obj - LanguageObject which has References to be bound
bindings - List of String binding expressions from query transformation node
metadata - source of metadata
boundReferencesMap - Map to be filled with String group name to List of References
Throws:
QueryResolverException
MetaMatrixComponentException


Copyright © 2009. All Rights Reserved.