Dresden OCL Toolkit

tudresden.ocl.codegen.decl
Class SQLCodeGenerator

java.lang.Object
  extended bytudresden.ocl.parser.analysis.AnalysisAdapter
      extended bytudresden.ocl.parser.analysis.ReversedDepthFirstAdapter
          extended bytudresden.ocl.codegen.decl.DeclarativeCodeGenerator
              extended bytudresden.ocl.codegen.decl.SQLCodeGenerator
All Implemented Interfaces:
Analysis, CodeGenerator, Switch

public class SQLCodeGenerator
extends DeclarativeCodeGenerator

A class that generates SQL code. !!! Currently, this Generator does not work anymore. Use class ILSQLCodeGenerator instead !!!

Author:
Sten Loecher

Field Summary
(package private) static String COMPLEX_PREDICATE
           
(package private)  String constrainedType
           
(package private)  String constraintName
           
(package private)  Hashtable declarators
           
(package private)  ORMappingScheme map
           
(package private)  Hashtable navigation
           
(package private)  String oclTokBasic1
           
(package private)  String oclTokBasic2
           
(package private)  String oclTokBasic3
           
(package private)  String oclTokens
           
(package private) static String STANDARDKEY
           
 
Fields inherited from class tudresden.ocl.codegen.decl.DeclarativeCodeGenerator
ca, code, fragments, theTree
 
Fields inherited from class tudresden.ocl.parser.analysis.AnalysisAdapter
 
Constructor Summary
SQLCodeGenerator(String rules)
           
 
Method Summary
 void formatSQLCode()
           
private  String getPathName(APathName node)
           
 void inAAdditiveExpressionTail(AAdditiveExpressionTail node)
           
 void inAConstraint(AConstraint node)
          Creates the first task, initializes the code buffer with it and delegates it to all subnodes.
 void inAConstraintBody(AConstraintBody node)
           
 void inAContextDeclaration(AContextDeclaration node)
           
 void inAFeatureCall(AFeatureCall node)
           
 void inAFeaturePrimaryExpression(AFeaturePrimaryExpression node)
           
 void inAIfExpression(AIfExpression node)
           
 void inALiteralCollection(ALiteralCollection node)
           
 void inALiteralPrimaryExpression(ALiteralPrimaryExpression node)
           
 void inALogicalExpressionTail(ALogicalExpressionTail node)
           
 void inAMultiplicativeExpressionTail(AMultiplicativeExpressionTail node)
           
 void inAParenthesesPrimaryExpression(AParenthesesPrimaryExpression node)
           
 void inAPostfixExpression(APostfixExpression node)
           
 void inARelationalExpressionTail(ARelationalExpressionTail node)
           
 void inAUnaryUnaryExpression(AUnaryUnaryExpression node)
           
 void outAConstraintBody(AConstraintBody node)
           
 
Methods inherited from class tudresden.ocl.codegen.decl.DeclarativeCodeGenerator
defaultIn, getCode, getUniqueTask, replaceInString, replaceTask, setRules, transferTask, transferTask
 
Methods inherited from class tudresden.ocl.parser.analysis.ReversedDepthFirstAdapter
caseAActualParameterList, caseAActualParameterListTail, caseAAdditiveExpression, caseAAdditiveExpressionTail, caseAAndLogicalOperator, caseAArrowPostfixExpressionTailBegin, caseABagCollectionKind, caseABagCollectionType, caseABarFcpHelper, caseABooleanLiteral, caseAClassifierContext, caseAClassifierContextBody, caseAClassifierHead, caseACollectionCollectionKind, caseACollectionCollectionType, caseACollectionTypeName, caseAColonFcpHelper, caseACommaFcpHelper, caseAConcreteFeatureCallParameters, caseAConstraint, caseAConstraintBody, caseAContextDeclaration, caseADeclaratorTail, caseADeclaratorTypeDeclaration, caseADivMultiplyOperator, caseADotPostfixExpressionTailBegin, caseAEmptyFeatureCallParameters, caseAEnumerationType, caseAEnumerationTypeTail, caseAEnumLiteral, caseAEnumSimpleTypeSpecifier, caseAEqualRelationalOperator, caseAExpression, caseAExpressionListOrRange, caseAExpressionListTail, caseAFeatureCall, caseAFeatureCallParameters, caseAFeaturePrimaryExpression, caseAFormalParameter, caseAFormalParameterList, caseAFormalParameterListTail, caseAGteqRelationalOperator, caseAGtRelationalOperator, caseAIfExpression, caseAIfPrimaryExpression, caseAImpliesLogicalOperator, caseAIntegerLiteral, caseAInvStereotype, caseAIterateDeclarator, caseAIterateFcpHelper, caseALetExpression, caseALetExpressionTypeDeclaration, caseAListExpressionListOrRangeTail, caseALitColPrimaryExpression, caseALiteralCollection, caseALiteralPrimaryExpression, caseALogicalExpression, caseALogicalExpressionTail, caseALteqRelationalOperator, caseALtRelationalOperator, caseAMinusAddOperator, caseAMinusUnaryOperator, caseAMultiplicativeExpression, caseAMultiplicativeExpressionTail, caseAMultMultiplyOperator, caseANamePathNameBegin, caseANamePathNameEnd, caseANEqualRelationalOperator, caseANonCollectionTypeName, caseANotUnaryOperator, caseAOperationContext, caseAOperationContextBody, caseAOrLogicalOperator, caseAParenthesesPrimaryExpression, caseAPathName, caseAPathNameTail, caseAPathSimpleTypeSpecifier, caseAPathTypeName, caseAPathTypeNameTail, caseAPlusAddOperator, caseAPostfixExpression, caseAPostfixExpressionTail, caseAPostfixUnaryExpression, caseAPostStereotype, caseAPreStereotype, caseAQualifiers, caseARangeExpressionListOrRangeTail, caseARealLiteral, caseARelationalExpression, caseARelationalExpressionTail, caseAReturnTypeDeclaration, caseASequenceCollectionKind, caseASequenceCollectionType, caseASetCollectionKind, caseASetCollectionType, caseAStandardDeclarator, caseAStringLiteral, caseATimeExpression, caseATypeNamePathNameBegin, caseATypeNamePathNameEnd, caseAUnaryUnaryExpression, caseAXorLogicalOperator, caseStart, defaultOut, inAActualParameterList, inAActualParameterListTail, inAAdditiveExpression, inAAndLogicalOperator, inAArrowPostfixExpressionTailBegin, inABagCollectionKind, inABagCollectionType, inABarFcpHelper, inABooleanLiteral, inAClassifierContext, inAClassifierContextBody, inAClassifierHead, inACollectionCollectionKind, inACollectionCollectionType, inACollectionTypeName, inAColonFcpHelper, inACommaFcpHelper, inAConcreteFeatureCallParameters, inADeclaratorTail, inADeclaratorTypeDeclaration, inADivMultiplyOperator, inADotPostfixExpressionTailBegin, inAEmptyFeatureCallParameters, inAEnumerationType, inAEnumerationTypeTail, inAEnumLiteral, inAEnumSimpleTypeSpecifier, inAEqualRelationalOperator, inAExpression, inAExpressionListOrRange, inAExpressionListTail, inAFeatureCallParameters, inAFormalParameter, inAFormalParameterList, inAFormalParameterListTail, inAGteqRelationalOperator, inAGtRelationalOperator, inAIfPrimaryExpression, inAImpliesLogicalOperator, inAIntegerLiteral, inAInvStereotype, inAIterateDeclarator, inAIterateFcpHelper, inALetExpression, inALetExpressionTypeDeclaration, inAListExpressionListOrRangeTail, inALitColPrimaryExpression, inALogicalExpression, inALteqRelationalOperator, inALtRelationalOperator, inAMinusAddOperator, inAMinusUnaryOperator, inAMultiplicativeExpression, inAMultMultiplyOperator, inANamePathNameBegin, inANamePathNameEnd, inANEqualRelationalOperator, inANonCollectionTypeName, inANotUnaryOperator, inAOperationContext, inAOperationContextBody, inAOrLogicalOperator, inAPathName, inAPathNameTail, inAPathSimpleTypeSpecifier, inAPathTypeName, inAPathTypeNameTail, inAPlusAddOperator, inAPostfixExpressionTail, inAPostfixUnaryExpression, inAPostStereotype, inAPreStereotype, inAQualifiers, inARangeExpressionListOrRangeTail, inARealLiteral, inARelationalExpression, inAReturnTypeDeclaration, inASequenceCollectionKind, inASequenceCollectionType, inASetCollectionKind, inASetCollectionType, inAStandardDeclarator, inAStringLiteral, inATimeExpression, inATypeNamePathNameBegin, inATypeNamePathNameEnd, inAXorLogicalOperator, inStart, outAActualParameterList, outAActualParameterListTail, outAAdditiveExpression, outAAdditiveExpressionTail, outAAndLogicalOperator, outAArrowPostfixExpressionTailBegin, outABagCollectionKind, outABagCollectionType, outABarFcpHelper, outABooleanLiteral, outAClassifierContext, outAClassifierContextBody, outAClassifierHead, outACollectionCollectionKind, outACollectionCollectionType, outACollectionTypeName, outAColonFcpHelper, outACommaFcpHelper, outAConcreteFeatureCallParameters, outAConstraint, outAContextDeclaration, outADeclaratorTail, outADeclaratorTypeDeclaration, outADivMultiplyOperator, outADotPostfixExpressionTailBegin, outAEmptyFeatureCallParameters, outAEnumerationType, outAEnumerationTypeTail, outAEnumLiteral, outAEnumSimpleTypeSpecifier, outAEqualRelationalOperator, outAExpression, outAExpressionListOrRange, outAExpressionListTail, outAFeatureCall, outAFeatureCallParameters, outAFeaturePrimaryExpression, outAFormalParameter, outAFormalParameterList, outAFormalParameterListTail, outAGteqRelationalOperator, outAGtRelationalOperator, outAIfExpression, outAIfPrimaryExpression, outAImpliesLogicalOperator, outAIntegerLiteral, outAInvStereotype, outAIterateDeclarator, outAIterateFcpHelper, outALetExpression, outALetExpressionTypeDeclaration, outAListExpressionListOrRangeTail, outALitColPrimaryExpression, outALiteralCollection, outALiteralPrimaryExpression, outALogicalExpression, outALogicalExpressionTail, outALteqRelationalOperator, outALtRelationalOperator, outAMinusAddOperator, outAMinusUnaryOperator, outAMultiplicativeExpression, outAMultiplicativeExpressionTail, outAMultMultiplyOperator, outANamePathNameBegin, outANamePathNameEnd, outANEqualRelationalOperator, outANonCollectionTypeName, outANotUnaryOperator, outAOperationContext, outAOperationContextBody, outAOrLogicalOperator, outAParenthesesPrimaryExpression, outAPathName, outAPathNameTail, outAPathSimpleTypeSpecifier, outAPathTypeName, outAPathTypeNameTail, outAPlusAddOperator, outAPostfixExpression, outAPostfixExpressionTail, outAPostfixUnaryExpression, outAPostStereotype, outAPreStereotype, outAQualifiers, outARangeExpressionListOrRangeTail, outARealLiteral, outARelationalExpression, outARelationalExpressionTail, outAReturnTypeDeclaration, outASequenceCollectionKind, outASequenceCollectionType, outASetCollectionKind, outASetCollectionType, outAStandardDeclarator, outAStringLiteral, outATimeExpression, outATypeNamePathNameBegin, outATypeNamePathNameEnd, outAUnaryUnaryExpression, outAXorLogicalOperator, outStart
 
Methods inherited from class tudresden.ocl.parser.analysis.AnalysisAdapter
caseEOF, caseTAnd, caseTApostroph, caseTArrow, caseTAt, caseTBar, caseTBlank, caseTBool, caseTChannel, caseTColon, caseTComma, caseTComment, caseTContext, caseTDcolon, caseTDdot, caseTDiv, caseTDot, caseTEndif, caseTEnum, caseTEqual, caseTGt, caseTGteq, caseTImplies, caseTInt, caseTLBrace, caseTLBracket, caseTLPar, caseTLt, caseTLteq, caseTMinus, caseTMult, caseTName, caseTNEqual, caseTNewLine, caseTNot, caseTOr, caseTPlus, caseTRBrace, caseTRBracket, caseTReal, caseTRPar, caseTSemicolon, caseTSimpleTypeName, caseTStringLit, caseTTab, caseTTBag, caseTTCollection, caseTTElse, caseTTIf, caseTTIn, caseTTInv, caseTTLet, caseTTPost, caseTTPre, caseTTSequence, caseTTSet, caseTTThen, caseTXor, defaultCase, getIn, getOut, setIn, setOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

constrainedType

String constrainedType

constraintName

String constraintName

oclTokens

String oclTokens

oclTokBasic1

String oclTokBasic1

oclTokBasic2

String oclTokBasic2

oclTokBasic3

String oclTokBasic3

map

ORMappingScheme map

navigation

Hashtable navigation

declarators

Hashtable declarators

STANDARDKEY

static final String STANDARDKEY
See Also:
Constant Field Values

COMPLEX_PREDICATE

static final String COMPLEX_PREDICATE
See Also:
Constant Field Values
Constructor Detail

SQLCodeGenerator

public SQLCodeGenerator(String rules)
Method Detail

formatSQLCode

public void formatSQLCode()

getPathName

private String getPathName(APathName node)

inAConstraint

public void inAConstraint(AConstraint node)
Description copied from class: DeclarativeCodeGenerator
Creates the first task, initializes the code buffer with it and delegates it to all subnodes.

Overrides:
inAConstraint in class DeclarativeCodeGenerator

inAConstraintBody

public void inAConstraintBody(AConstraintBody node)
Overrides:
inAConstraintBody in class ReversedDepthFirstAdapter

outAConstraintBody

public void outAConstraintBody(AConstraintBody node)
Overrides:
outAConstraintBody in class ReversedDepthFirstAdapter

inAContextDeclaration

public void inAContextDeclaration(AContextDeclaration node)
Overrides:
inAContextDeclaration in class ReversedDepthFirstAdapter

inALogicalExpressionTail

public void inALogicalExpressionTail(ALogicalExpressionTail node)
Overrides:
inALogicalExpressionTail in class ReversedDepthFirstAdapter

inARelationalExpressionTail

public void inARelationalExpressionTail(ARelationalExpressionTail node)
Overrides:
inARelationalExpressionTail in class ReversedDepthFirstAdapter

inAAdditiveExpressionTail

public void inAAdditiveExpressionTail(AAdditiveExpressionTail node)
Overrides:
inAAdditiveExpressionTail in class ReversedDepthFirstAdapter

inAMultiplicativeExpressionTail

public void inAMultiplicativeExpressionTail(AMultiplicativeExpressionTail node)
Overrides:
inAMultiplicativeExpressionTail in class ReversedDepthFirstAdapter

inAUnaryUnaryExpression

public void inAUnaryUnaryExpression(AUnaryUnaryExpression node)
Overrides:
inAUnaryUnaryExpression in class ReversedDepthFirstAdapter

inAPostfixExpression

public void inAPostfixExpression(APostfixExpression node)
Overrides:
inAPostfixExpression in class ReversedDepthFirstAdapter

inAFeaturePrimaryExpression

public void inAFeaturePrimaryExpression(AFeaturePrimaryExpression node)
Overrides:
inAFeaturePrimaryExpression in class ReversedDepthFirstAdapter

inAFeatureCall

public void inAFeatureCall(AFeatureCall node)
Overrides:
inAFeatureCall in class ReversedDepthFirstAdapter

inALiteralPrimaryExpression

public void inALiteralPrimaryExpression(ALiteralPrimaryExpression node)
Overrides:
inALiteralPrimaryExpression in class ReversedDepthFirstAdapter

inALiteralCollection

public void inALiteralCollection(ALiteralCollection node)
Overrides:
inALiteralCollection in class ReversedDepthFirstAdapter

inAIfExpression

public void inAIfExpression(AIfExpression node)
Overrides:
inAIfExpression in class ReversedDepthFirstAdapter

inAParenthesesPrimaryExpression

public void inAParenthesesPrimaryExpression(AParenthesesPrimaryExpression node)
Overrides:
inAParenthesesPrimaryExpression in class ReversedDepthFirstAdapter

Dresden OCL Toolkit

Submit a bug
Developed at the Dresden University of Technology.
This software is published under the GNU Lesser General Public License.