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.PlsqlBlockStmtFormatter; 007import gudusoft.gsqlparser.pp.utils.SourceTokenNameConstant; 008 009public class PlsqlBlockStmtFormatterBuilder extends 010 AbstractStmtFormatterBuilder<PlsqlBlockStmtFormatter> 011{ 012 013 @Override 014 protected void initSpecialProcessorForFormatter( 015 PlsqlBlockStmtFormatter formatter ) 016 { 017 // build the special processor 018 formatter.addSpecialProcessor( ProcessorFactory.createCapitalisationProcessor( getOption( ) ) ); 019 formatter.addSpecialProcessor( ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor( getOption( ) ) ); 020 021 // build all the item list processors 022 formatter.addDeclareProcessor( ProcessorFactory.createStmtListProcessor( getOption( ), 023 SourceTokenNameConstant.DECLARE ) ); 024 formatter.addBodyProcessor( ProcessorFactory.createStmtListProcessor( getOption( ), 025 SourceTokenNameConstant.BEGIN ) ); 026 027 formatter.addSpecialProcessor( ProcessorFactory.createBeginAndEndProcessor( getOption( ) ) ); 028 029 } 030 031 @Override 032 protected PlsqlBlockStmtFormatter newInstanceFormatter( ) 033 { 034 return new PlsqlBlockStmtFormatter( ); 035 } 036 037}