persistence.visitor
Class InsertVisitor

java.lang.Object
  extended bypersistence.visitor.InsertVisitor
All Implemented Interfaces:
TableComponentVisitor

public class InsertVisitor
extends java.lang.Object
implements TableComponentVisitor

TableComponentVisitor which creates necessary SQL-code to insert object whose relational DB-representation is the visited TableComponent-hierarchy.

Author:
bram 30-okt-2003

Field Summary
private  java.lang.String connectionExpression
           
private  java.lang.String currentAlias
           
private  java.lang.String currentAttribute
           
private  net.sf.hibernate.sql.Insert currentInsert
           
private  java.lang.String fullClassName
           
private  java.lang.String iteratorName
           
private  java.lang.String JDBCPreparedStatementName
           
private  java.lang.String JDBCStatementName
           
private  java.lang.String keyAlias
           
private  java.util.Map keyMap
           
private  int nameDiscriminator
           
private  java.lang.String nameOfPersistentObject
           
private  java.lang.String nextAlias
           
private  java.util.ArrayList resultStrings
           
private  java.util.ArrayList stack
           
private  java.lang.String subTreeSQL
           
private  int tokenIndex
           
 
Constructor Summary
InsertVisitor(java.lang.String fullClassName, java.lang.String connectionExpression)
           
 
Method Summary
 java.lang.String getResult()
           
 void visitArrayTable(ArrayTable ar)
           
 void visitAttribute(Attribute attr)
           
 void visitCollectionTable(CollectionTable coll)
           
 void visitMapTable(MapTable map)
           
 void visitReferenceAttribute(ReferenceAttribute refAttr)
           
 void visitTable(Table table)
          Root table!!!
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fullClassName

private java.lang.String fullClassName

nameDiscriminator

private int nameDiscriminator

tokenIndex

private int tokenIndex

stack

private java.util.ArrayList stack

resultStrings

private java.util.ArrayList resultStrings

currentInsert

private net.sf.hibernate.sql.Insert currentInsert

currentAttribute

private java.lang.String currentAttribute

currentAlias

private java.lang.String currentAlias

keyAlias

private java.lang.String keyAlias

nextAlias

private java.lang.String nextAlias

keyMap

private java.util.Map keyMap

subTreeSQL

private java.lang.String subTreeSQL

JDBCStatementName

private final java.lang.String JDBCStatementName
See Also:
Constant Field Values

JDBCPreparedStatementName

private final java.lang.String JDBCPreparedStatementName
See Also:
Constant Field Values

iteratorName

private final java.lang.String iteratorName
See Also:
Constant Field Values

connectionExpression

private java.lang.String connectionExpression

nameOfPersistentObject

private final java.lang.String nameOfPersistentObject
See Also:
Constant Field Values
Constructor Detail

InsertVisitor

public InsertVisitor(java.lang.String fullClassName,
                     java.lang.String connectionExpression)
Method Detail

visitAttribute

public void visitAttribute(Attribute attr)
Specified by:
visitAttribute in interface TableComponentVisitor
See Also:
persistence.TableComponentVisitor#visitAttribute(persistence.Attribute)

visitReferenceAttribute

public void visitReferenceAttribute(ReferenceAttribute refAttr)
Specified by:
visitReferenceAttribute in interface TableComponentVisitor
See Also:
persistence.TableComponentVisitor#visitReferenceAttribute(persistence.ReferenceAttribute)

visitTable

public void visitTable(Table table)
Root table!!!

Specified by:
visitTable in interface TableComponentVisitor
See Also:
persistence.TableComponentVisitor#visitTable(persistence.Table)

visitArrayTable

public void visitArrayTable(ArrayTable ar)
Specified by:
visitArrayTable in interface TableComponentVisitor
See Also:
persistence.TableComponentVisitor#visitArrayTable(persistence.ArrayTable)

getResult

public java.lang.String getResult()
Specified by:
getResult in interface TableComponentVisitor
See Also:
persistence.TableComponentVisitor#getResult()

visitCollectionTable

public void visitCollectionTable(CollectionTable coll)
Specified by:
visitCollectionTable in interface TableComponentVisitor

visitMapTable

public void visitMapTable(MapTable map)
Specified by:
visitMapTable in interface TableComponentVisitor