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                formatter.addSpecialProcessor( ProcessorFactory.createCreateTableAsProcessor( getOption( ) ) );
026
027                // build the item list processor
028                formatter.addItemListProcessor( ProcessorFactory.createColumnlistCommaProcessor( this.getOption( ),
029                                this.getOption( ).defaultCommaOption,
030                                this.getOption( ).defaultAligntype ) );
031                formatter.addItemListProcessor( ProcessorFactory.createCreateTableItemAlignProcessor( getOption( ),
032                                this.getOption( ).createtableFieldlistAlignOption ) );
033
034                // build the constraint list processor
035                formatter.addConstraintListProcessor( ProcessorFactory.createColumnlistCommaProcessor( this.getOption( ),
036                                this.getOption( ).defaultCommaOption,
037                                this.getOption( ).defaultAligntype ) );
038
039        }
040
041        @Override
042        protected CreateTableStmtFormatter newInstanceFormatter( )
043        {
044                return new CreateTableStmtFormatter( );
045        }
046
047}