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.MergeStmtFormatter; 007 008public class MergeStmtFormatterBuilder extends 009 AbstractStmtFormatterBuilder<MergeStmtFormatter> 010{ 011 012 @Override 013 protected void initSpecialProcessorForFormatter( 014 MergeStmtFormatter formatter ) 015 { 016 // build the special processor 017 formatter.addSpecialProcessor( ProcessorFactory.createCapitalisationProcessor( getOption( ) ) ); 018 formatter.addSpecialProcessor( ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor( getOption( ) ) ); 019 formatter.addSpecialProcessor( ProcessorFactory.createStatementIndentLevelProcessor( getOption( ) ) ); 020 formatter.addSpecialProcessor( ProcessorFactory.createCTEProcessor( getOption( ), 021 getOption( ).cteNewlineBeforeAs ) ); 022 formatter.addSpecialProcessor( ProcessorFactory.createMergeKeyWordAlignProcessor( getOption( ) ) ); 023 formatter.addSpecialProcessor( ProcessorFactory.createAppendLineAfterMergeTableNameProcessor( getOption( ) ) ); 024 025 formatter.addOnExpProcessors( ProcessorFactory.createExpressionProcessor( getOption( ), 026 false ) ); 027 formatter.addSpecialProcessor( ProcessorFactory.createMergeWhenClauseProcessor( getOption( ) ) ); 028 } 029 030 @Override 031 protected MergeStmtFormatter newInstanceFormatter( ) 032 { 033 return new MergeStmtFormatter( ); 034 } 035 036}