@NotThreadSafe public class DdlChanges extends Object implements DdlParserListener
DdlParserListener that accumulates changes, allowing them to be consumed in the same order by database.| Modifier and Type | Class and Description |
|---|---|
static interface |
DdlChanges.DatabaseEventConsumer |
static interface |
DdlChanges.DatabaseStatementConsumer |
static interface |
DdlChanges.DatabaseStatementStringConsumer |
DdlParserListener.DatabaseAlteredEvent, DdlParserListener.DatabaseCreatedEvent, DdlParserListener.DatabaseDroppedEvent, DdlParserListener.DatabaseEvent, DdlParserListener.Event, DdlParserListener.EventType, DdlParserListener.SetVariableEvent, DdlParserListener.TableAlteredEvent, DdlParserListener.TableCreatedEvent, DdlParserListener.TableDroppedEvent, DdlParserListener.TableEvent, DdlParserListener.TableIndexCreatedEvent, DdlParserListener.TableIndexDroppedEvent, DdlParserListener.TableIndexEvent, DdlParserListener.TableTruncatedEvent| Modifier and Type | Field and Description |
|---|---|
private Set<String> |
databaseNames |
private List<DdlParserListener.Event> |
events |
private String |
terminator |
| Constructor and Description |
|---|
DdlChanges()
Create a new changes object with ';' as the terminator token.
|
DdlChanges(String terminator)
Create a new changes object with the designated terminator token.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
applyToMoreDatabasesThan(String name) |
protected String |
getDatabase(DdlParserListener.Event event) |
void |
groupEventsByDatabase(DdlChanges.DatabaseEventConsumer consumer)
Consume the events in the same order they were
recorded,
but grouped by database name. |
void |
groupStatementsByDatabase(DdlChanges.DatabaseStatementConsumer consumer)
Consume the events in the same order they were
recorded,
but grouped by database name. |
void |
groupStatementStringsByDatabase(DdlChanges.DatabaseStatementStringConsumer consumer)
Consume the events in the same order they were
recorded,
but grouped by database name. |
void |
handle(DdlParserListener.Event event)
Handle a DDL event.
|
boolean |
isEmpty() |
DdlChanges |
reset()
Clear all accumulated changes.
|
String |
toString() |
private final String terminator
private final List<DdlParserListener.Event> events
public DdlChanges()
public DdlChanges(String terminator)
terminator - the token used to terminate each statement; may be nullpublic DdlChanges reset()
public void handle(DdlParserListener.Event event)
DdlParserListenerhandle in interface DdlParserListenerevent - the DDL event; never nullpublic void groupStatementStringsByDatabase(DdlChanges.DatabaseStatementStringConsumer consumer)
recorded,
but grouped by database name. Multiple sequential statements that were applied to the same database are grouped together.consumer - the consumerpublic void groupStatementsByDatabase(DdlChanges.DatabaseStatementConsumer consumer)
recorded,
but grouped by database name. Multiple sequential statements that were applied to the same database are grouped together.consumer - the consumerpublic void groupEventsByDatabase(DdlChanges.DatabaseEventConsumer consumer)
recorded,
but grouped by database name. Multiple sequential statements that were applied to the same database are grouped together.consumer - the consumerprotected String getDatabase(DdlParserListener.Event event)
public boolean isEmpty()
public boolean applyToMoreDatabasesThan(String name)
Copyright © 2019 JBoss by Red Hat. All rights reserved.