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.PlsqlStmtFormatter;
007
008public class CreateProcedureStmtFormatterBuilder extends
009                AbstractStmtFormatterBuilder<PlsqlStmtFormatter>
010{
011
012        @Override
013        protected void initSpecialProcessorForFormatter(
014                        PlsqlStmtFormatter formatter )
015        {
016                // build the special processor
017                formatter.addSpecialProcessor( ProcessorFactory.createCapitalisationProcessor( getOption( ) ) );
018                formatter.addSpecialProcessor( ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor( getOption( ) ) );
019
020                formatter.addSpecialProcessor( ProcessorFactory.createCreateFuncLeftBEProcessor( getOption( ),
021                                getOption( ).beStyleFunctionLeftBEOnNewline,
022                                getOption( ).beStyleFunctionLeftBEIndentSize ) );
023                formatter.addSpecialProcessor( ProcessorFactory.createCreateFuncRightBEProcessor( getOption( ),
024                                getOption( ).beStyleFunctionRightBEOnNewline,
025                                getOption( ).beStyleFunctionRightBEIndentSize ) );
026
027                formatter.addSpecialProcessor( ProcessorFactory.createCreateFuncFirstParamInNewlineProcessor( getOption( ),
028                                getOption( ).beStyleFunctionFirstParamInNewline ) );
029
030                formatter.addSpecialProcessor( ProcessorFactory.createCreateFuncReturnsTableProcessor( getOption( ) ) );
031
032                formatter.addSpecialProcessor( ProcessorFactory.createCreateFuncWSPaddingParenthesesProcessor( getOption( ) ) );
033
034                // build all the item list processors
035                formatter.addParameterProcessor( ProcessorFactory.createColumnlistCommaProcessor( getOption( ),
036                                getOption( ).parametersComma,
037                                getOption( ).parametersStyle ) );
038
039                formatter.addParameterProcessor( ProcessorFactory.createAlignAliasProcessor( getOption( ),
040                                true,
041                                getOption( ).parametersStyle ) );
042
043        }
044
045        @Override
046        protected PlsqlStmtFormatter newInstanceFormatter( )
047        {
048                return new PlsqlStmtFormatter( );
049        }
050
051}