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.DeclareStmtFormatter;
009import gudusoft.gsqlparser.pp.utils.SourceTokenNameConstant;
010
011public class DeclareStmtFormatterBuilder extends
012                AbstractStmtFormatterBuilder<DeclareStmtFormatter>
013{
014
015        @Override
016        protected void initSpecialProcessorForFormatter(
017                        DeclareStmtFormatter formatter )
018        {
019                formatter.addSpecialProcessor( ProcessorFactory.createCapitalisationProcessor( getOption( ) ) );
020                formatter.addSpecialProcessor( ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor( getOption( ) ) );
021                formatter.addVarProcessor( ProcessorFactory.createDeclareVarItemAlignProcessor( getOption( ) ) );
022                formatter.addVarProcessor( ProcessorFactory.appendNewLineAfterReverseKeyWordProcessor( getOption( ),
023                                getOption( ).linebreakAfterDeclare,
024                                SourceTokenNameConstant.DECLARE ) );
025                formatter.addVarProcessor( ProcessorFactory.createColumnlistCommaProcessor( getOption( ),
026                                TLinefeedsCommaOption.LfAfterComma,
027                                TAlignStyle.AsStacked ) );
028
029        }
030
031        @Override
032        protected DeclareStmtFormatter newInstanceFormatter( )
033        {
034                return new DeclareStmtFormatter( );
035        }
036
037}