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.CreateTableStmtFormatter; 007 008public class CreateTableStmtFormatterBuilder extends 009 AbstractStmtFormatterBuilder<CreateTableStmtFormatter> 010{ 011 012 @Override 013 protected void initSpecialProcessorForFormatter( 014 CreateTableStmtFormatter formatter ) 015 { 016 // build the special processor 017 formatter.addSpecialProcessor( ProcessorFactory.createCapitalisationProcessor( getOption( ) ) ); 018 formatter.addSpecialProcessor( ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor( getOption( ) ) ); 019 formatter.addSpecialProcessor( ProcessorFactory.createCreateTableBEInNewLineProcessor( getOption( ), 020 getOption( ).beStyleCreatetableLeftBEOnNewline, 021 getOption( ).beStyleCreatetableRightBEOnNewline, 022 getOption( ).createtableListitemInNewLine ) ); 023 024 formatter.addSpecialProcessor( ProcessorFactory.createCreateTableConstraintAlignProcessor( getOption( ) ) ); 025 026 // build the item list processor 027 formatter.addItemListProcessor( ProcessorFactory.createColumnlistCommaProcessor( this.getOption( ), 028 this.getOption( ).defaultCommaOption, 029 this.getOption( ).defaultAligntype ) ); 030 formatter.addItemListProcessor( ProcessorFactory.createCreateTableItemAlignProcessor( getOption( ), 031 this.getOption( ).createtableFieldlistAlignOption ) ); 032 033 // build the constraint list processor 034 formatter.addConstraintListProcessor( ProcessorFactory.createColumnlistCommaProcessor( this.getOption( ), 035 this.getOption( ).defaultCommaOption, 036 this.getOption( ).defaultAligntype ) ); 037 038 } 039 040 @Override 041 protected CreateTableStmtFormatter newInstanceFormatter( ) 042 { 043 return new CreateTableStmtFormatter( ); 044 } 045 046}