001 002package gudusoft.gsqlparser.pp.stmtformatter.builder.comm; 003 004import gudusoft.gsqlparser.pp.processor.ProcessorFactory; 005import gudusoft.gsqlparser.pp.stmtformatter.builder.AbstractStmtFormatterBuilder; 006import gudusoft.gsqlparser.pp.stmtformatter.type.comm.InsertStmtFormatter; 007import gudusoft.gsqlparser.pp.utils.SourceTokenNameConstant; 008 009public class InsertStmtFormatterBuilder extends 010 AbstractStmtFormatterBuilder<InsertStmtFormatter> 011{ 012 013 @Override 014 protected void initSpecialProcessorForFormatter( 015 InsertStmtFormatter formatter ) 016 { 017 // build the special processor 018 formatter.addSpecialProcessor( ProcessorFactory.createCapitalisationProcessor( getOption( ) ) ); 019 formatter.addSpecialProcessor( ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor( getOption( ) ) ); 020 formatter.addSpecialProcessor( ProcessorFactory.createStatementIndentLevelProcessor( getOption( ) ) ); 021 formatter.addSpecialProcessor( ProcessorFactory.createCTEProcessor( getOption( ), 022 getOption( ).cteNewlineBeforeAs ) ); 023 formatter.addSpecialProcessor( ProcessorFactory.createInsertKeyWordAlignProcessor( getOption( ) ) ); 024 formatter.addSpecialProcessor( ProcessorFactory.createAppendLineAfterInsertTableNameProcessor( getOption( ) ) ); 025 formatter.addSpecialProcessor( ProcessorFactory.createInsertValuesParenthsesAdjustProcessor( getOption( ) ) ); 026 formatter.addSpecialProcessor( ProcessorFactory.createInsertOutputClauseProcessor( getOption( ) ) ); 027 028 // build all the item list processors 029 formatter.addItemListProcessor( ProcessorFactory.createColumnlistCommaProcessor( getOption( ), 030 getOption( ).defaultCommaOption, 031 getOption( ).insertColumnlistStyle ) ); 032 033 // build all the value list processors 034 formatter.addValueListProcessor( ProcessorFactory.createAppendNewLineBeforeReverseKeyWordProcessor( getOption( ), 035 true, 036 SourceTokenNameConstant.VALUES ) ); 037 formatter.addValueListProcessor( ProcessorFactory.createColumnlistCommaProcessor( getOption( ), 038 getOption( ).defaultCommaOption, 039 getOption( ).insertValuelistStyle ) ); 040 } 041 042 @Override 043 protected InsertStmtFormatter newInstanceFormatter( ) 044 { 045 return new InsertStmtFormatter( ); 046 } 047 048}