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.UpdateStmtFormatter;
007import gudusoft.gsqlparser.pp.utils.SourceTokenNameConstant;
008
009public class UpdateStmtFormatterBuilder extends
010                AbstractStmtFormatterBuilder<UpdateStmtFormatter>
011{
012
013        @Override
014        protected void initSpecialProcessorForFormatter(
015                        UpdateStmtFormatter 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.createUpdateKeyWordAlignProcessor( getOption( ) ) );
022
023                // build the set clause processor
024                formatter.addSetClauseProcessor( ProcessorFactory.createAppendNewLineBeforeReverseKeyWordProcessor( getOption( ),
025                                true,
026                                SourceTokenNameConstant.SET ) );
027                formatter.addSetClauseProcessor( ProcessorFactory.createColumnlistCommaProcessor( getOption( ),
028                                getOption( ).defaultCommaOption,
029                                getOption( ).defaultAligntype ) );
030
031                // build the where clause processors
032                formatter.addWhereClauseProcessor( ProcessorFactory.createAppendNewLineBeforeReverseKeyWordProcessor( getOption( ),
033                                true,
034                                SourceTokenNameConstant.WHERE ) );
035        }
036
037        @Override
038        protected UpdateStmtFormatter newInstanceFormatter( )
039        {
040                return new UpdateStmtFormatter( );
041        }
042
043}