net.sf.farrago.ddl
Class DdlRoutineHandler

java.lang.Object
  extended by net.sf.farrago.ddl.DdlHandler
      extended by net.sf.farrago.ddl.DdlRoutineHandler
All Implemented Interfaces:
ReflectiveVisitor

public class DdlRoutineHandler
extends DdlHandler

DdlRoutineHandler defines DDL handler methods for user-defined routines and related objects such as types and jars. TODO: rename this class to DdlUserDefHandler

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/ddl/DdlRoutineHandler.java#34 $
Author:
John V. Sichi

Field Summary
 
Fields inherited from class net.sf.farrago.ddl.DdlHandler
repos, res, tracer, validator
 
Constructor Summary
DdlRoutineHandler(FarragoSessionDdlValidator validator)
           
 
Method Summary
private  void validateColumnListParams(FemRoutine routine)
           
private  void validateConstructorBody(FemRoutine routine, FarragoSession session, RelDataType paramRowType, FemSqlobjectType objectType)
           
 void validateDefinition(FemJar jar)
           
 void validateDefinition(FemRoutine routine)
           
 void validateDefinition(FemSqldistinguishedType typeDef)
           
 void validateDefinition(FemSqlobjectType typeDef)
           
 void validateDefinition(FemUserDefinedOrdering orderingDef)
           
 void validateDrop(FemJar jar)
           
private  void validateJavaRoutine(FemRoutine routine, FemRoutineParameter returnParam)
           
 void validateModification(FemRoutine routine)
           
private  void validateReturnBody(FemRoutine routine, FarragoSession session, RelDataType paramRowType, FemRoutineParameter returnParam)
           
private  void validateRoutineBody(FarragoSession session, FemRoutine routine, FemRoutineParameter returnParam)
           
 void validateRoutineParam(FemRoutineParameter param)
           
private  void validateSqlRoutine(FemRoutine routine, FemRoutineParameter returnParam)
           
private  void validateUserDefinedType(FemUserDefinedType typeDef)
           
 
Methods inherited from class net.sf.farrago.ddl.DdlHandler
adjustExceptionParserPosition, convertFieldToCwmColumn, getValidator, validateAttribute, validateAttributeSet, validateBaseColumnSet, validateTypedElement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DdlRoutineHandler

public DdlRoutineHandler(FarragoSessionDdlValidator validator)
Method Detail

validateDefinition

public void validateDefinition(FemRoutine routine)

validateModification

public void validateModification(FemRoutine routine)

validateSqlRoutine

private void validateSqlRoutine(FemRoutine routine,
                                FemRoutineParameter returnParam)

validateJavaRoutine

private void validateJavaRoutine(FemRoutine routine,
                                 FemRoutineParameter returnParam)

validateRoutineBody

private void validateRoutineBody(FarragoSession session,
                                 FemRoutine routine,
                                 FemRoutineParameter returnParam)
                          throws Throwable
Throws:
Throwable

validateReturnBody

private void validateReturnBody(FemRoutine routine,
                                FarragoSession session,
                                RelDataType paramRowType,
                                FemRoutineParameter returnParam)
                         throws Throwable
Throws:
Throwable

validateConstructorBody

private void validateConstructorBody(FemRoutine routine,
                                     FarragoSession session,
                                     RelDataType paramRowType,
                                     FemSqlobjectType objectType)

validateRoutineParam

public void validateRoutineParam(FemRoutineParameter param)

validateColumnListParams

private void validateColumnListParams(FemRoutine routine)

validateDefinition

public void validateDefinition(FemJar jar)

validateDrop

public void validateDrop(FemJar jar)

validateDefinition

public void validateDefinition(FemSqlobjectType typeDef)

validateDefinition

public void validateDefinition(FemSqldistinguishedType typeDef)

validateDefinition

public void validateDefinition(FemUserDefinedOrdering orderingDef)

validateUserDefinedType

private void validateUserDefinedType(FemUserDefinedType typeDef)