001
002package gudusoft.gsqlparser.pp.stmtformatter.builder.comm;
003
004import gudusoft.gsqlparser.pp.para.styleenums.TAlignStyle;
005import gudusoft.gsqlparser.pp.para.styleenums.TLinefeedsCommaOption;
006import gudusoft.gsqlparser.pp.processor.ProcessorFactory;
007import gudusoft.gsqlparser.pp.stmtformatter.builder.AbstractStmtFormatterBuilder;
008import gudusoft.gsqlparser.pp.stmtformatter.type.comm.ExecuteStmtFormatter;
009
010public class ExecuteStmtFormatterBuilder extends
011                AbstractStmtFormatterBuilder<ExecuteStmtFormatter>
012{
013
014        @Override
015        protected void initSpecialProcessorForFormatter(
016                        ExecuteStmtFormatter formatter )
017        {
018                formatter.addSpecialProcessor( ProcessorFactory.createCapitalisationProcessor( getOption( ) ) );
019                formatter.addSpecialProcessor( ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor( getOption( ) ) );
020                formatter.addSpecialProcessor( ProcessorFactory.createExecParaNewLineProcessor( getOption( ),
021                                getOption( ).linebreakBeforeParamInExec ) );
022
023                formatter.addParaListProcessor( ProcessorFactory.createColumnlistCommaProcessor( getOption( ),
024                                TLinefeedsCommaOption.LfAfterComma,
025                                getOption( ).linebreakBeforeParamInExec ? TAlignStyle.AsStacked
026                                                : TAlignStyle.AsWrapped ) );
027
028        }
029
030        @Override
031        protected ExecuteStmtFormatter newInstanceFormatter( )
032        {
033                return new ExecuteStmtFormatter( );
034        }
035}