com.metamatrix.query.validator
Class UpdateValidationVisitor

java.lang.Object
  extended by com.metamatrix.query.sql.LanguageVisitor
      extended by com.metamatrix.query.validator.AbstractValidationVisitor
          extended by com.metamatrix.query.validator.UpdateValidationVisitor

public class UpdateValidationVisitor
extends AbstractValidationVisitor

This visitor is used to validate updates through virtual groups. The command defining the virtual group is always a Query. This object visits various parts of this Query and verifies if the virtual group definition will allows it to be updated.


Field Summary
 
Fields inherited from class com.metamatrix.query.validator.AbstractValidationVisitor
currentCommand
 
Constructor Summary
UpdateValidationVisitor(QueryMetadataInterface metadata)
           This constructor initialises the visitor by setting the metadata needed for validation.
 
Method Summary
protected  QueryMetadataInterface getMetadata()
          This method get the metadata that this visitor uses.
 void visit(Delete obj)
           The command being visited should never be a Delete object, this method reports a validation error if this mehod is visited.
 void visit(From obj)
           This method visits the From object to validate that it has only one physical group in it.
 void visit(Insert obj)
           The command being visited should never be a Insert object, this method reports a validation error if this mehod is visited.
 void visit(Query obj)
           This method visits the Query object and verifies that it has only a Select and From clause.
 void visit(Select obj)
           This method visits the Select and verifies that the expressions defined on it are all ElementSymbols or aliased ElementSymbols
 void visit(SetQuery obj)
           The command being visited should never be a SetQuery object, this method reports a validation error if this mehod is visited.
 void visit(StoredProcedure obj)
           The command being visited should never be a StoredProcedure object, this method reports a validation error if this mehod is visited.
 void visit(Update obj)
           The command being visited should never be a Update object, this method reports a validation error if this mehod is visited.
 
Methods inherited from class com.metamatrix.query.validator.AbstractValidationVisitor
getException, getExceptionObject, getReport, handleException, handleException, handleValidationError, handleValidationError, handleValidationError, isXMLCommand, reset, setMetadata, validateElementsSupport
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UpdateValidationVisitor

public UpdateValidationVisitor(QueryMetadataInterface metadata)

This constructor initialises the visitor by setting the metadata needed for validation.

Parameters:
The - metadata object needed for validation
Method Detail

getMetadata

protected QueryMetadataInterface getMetadata()
This method get the metadata that this visitor uses.

Overrides:
getMetadata in class AbstractValidationVisitor
Returns:
The metadata object needed for validation

visit

public void visit(SetQuery obj)

The command being visited should never be a SetQuery object, this method reports a validation error if this mehod is visited.

Overrides:
visit in class LanguageVisitor
Parameters:
obj - The SetQuery object to be visited for validation

visit

public void visit(StoredProcedure obj)

The command being visited should never be a StoredProcedure object, this method reports a validation error if this mehod is visited.

Overrides:
visit in class LanguageVisitor
Parameters:
obj - The StoredProcedure object to be visited for validation

visit

public void visit(Insert obj)

The command being visited should never be a Insert object, this method reports a validation error if this mehod is visited.

Overrides:
visit in class LanguageVisitor
Parameters:
obj - The Insert object to be visited for validation

visit

public void visit(Update obj)

The command being visited should never be a Update object, this method reports a validation error if this mehod is visited.

Overrides:
visit in class LanguageVisitor
Parameters:
obj - The Update object to be visited for validation

visit

public void visit(Delete obj)

The command being visited should never be a Delete object, this method reports a validation error if this mehod is visited.

Overrides:
visit in class LanguageVisitor
Parameters:
obj - The Delete object to be visited for validation

visit

public void visit(Query obj)

This method visits the Query object and verifies that it has only a Select and From clause.

Overrides:
visit in class LanguageVisitor
Parameters:
obj - The Query object to be visited for validation

visit

public void visit(Select obj)

This method visits the Select and verifies that the expressions defined on it are all ElementSymbols or aliased ElementSymbols

Overrides:
visit in class LanguageVisitor
Parameters:
obj - The Select object to be visited for validation

visit

public void visit(From obj)

This method visits the From object to validate that it has only one physical group in it. It gets the list of elements present in the physical group but not specified in the Select clause and validates these elements according the guidelines governing virtual group updates.

Overrides:
visit in class LanguageVisitor
Parameters:
obj - The From object to be visited for validation


Copyright © 2009. All Rights Reserved.