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.createCTEProcessor( getOption( ), 020 getOption( ).cteNewlineBeforeAs ) ); 021 formatter.addSpecialProcessor( ProcessorFactory.createMergeKeyWordAlignProcessor( getOption( ) ) ); 022 formatter.addSpecialProcessor( ProcessorFactory.createAppendLineAfterMergeTableNameProcessor( getOption( ) ) ); 023 024 formatter.addOnExpProcessors( ProcessorFactory.createExpressionProcessor( getOption( ), 025 false ) ); 026 formatter.addSpecialProcessor( ProcessorFactory.createMergeWhenClauseProcessor( getOption( ) ) ); 027 } 028 029 @Override 030 protected MergeStmtFormatter newInstanceFormatter( ) 031 { 032 return new MergeStmtFormatter( ); 033 } 034 035}