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}