2727import org .apache .flink .cdc .common .event .RenameColumnEvent ;
2828import org .apache .flink .cdc .common .event .SchemaChangeEvent ;
2929import org .apache .flink .cdc .common .event .TruncateTableEvent ;
30+ import org .apache .flink .cdc .common .utils .Preconditions ;
31+
32+ import javax .annotation .Nonnull ;
3033
3134/** Visitor clas for all {@link SchemaChangeEvent}s and returns a specific typed object. */
3235@ Internal
3336public class SchemaChangeEventVisitor {
3437 public static <T , E extends Throwable > T visit (
3538 SchemaChangeEvent event ,
36- VisitorHandler <AddColumnEvent , T , E > addColumnVisitor ,
37- VisitorHandler <AlterColumnTypeEvent , T , E > alterColumnTypeEventVisitor ,
38- VisitorHandler <CreateTableEvent , T , E > createTableEventVisitor ,
39- VisitorHandler <DropColumnEvent , T , E > dropColumnEventVisitor ,
40- VisitorHandler <DropTableEvent , T , E > dropTableEventVisitor ,
41- VisitorHandler <RenameColumnEvent , T , E > renameColumnEventVisitor ,
42- VisitorHandler <TruncateTableEvent , T , E > truncateTableEventVisitor ,
43- VisitorHandler <AlterTableCommentEvent , T , E > alterTableCommentEventVisitor )
39+ @ Nonnull VisitorHandler <AddColumnEvent , T , E > addColumnVisitor ,
40+ @ Nonnull VisitorHandler <AlterColumnTypeEvent , T , E > alterColumnTypeEventVisitor ,
41+ @ Nonnull VisitorHandler <CreateTableEvent , T , E > createTableEventVisitor ,
42+ @ Nonnull VisitorHandler <DropColumnEvent , T , E > dropColumnEventVisitor ,
43+ @ Nonnull VisitorHandler <DropTableEvent , T , E > dropTableEventVisitor ,
44+ @ Nonnull VisitorHandler <RenameColumnEvent , T , E > renameColumnEventVisitor ,
45+ @ Nonnull VisitorHandler <TruncateTableEvent , T , E > truncateTableEventVisitor ,
46+ @ Nonnull VisitorHandler <AlterTableCommentEvent , T , E > alterTableCommentEventVisitor )
4447 throws E {
4548 if (event instanceof AddColumnEvent ) {
46- if (addColumnVisitor == null ) {
47- return null ;
48- }
49+ Preconditions .checkNotNull (addColumnVisitor );
4950 return addColumnVisitor .visit ((AddColumnEvent ) event );
5051 } else if (event instanceof AlterColumnTypeEvent ) {
51- if (alterColumnTypeEventVisitor == null ) {
52- return null ;
53- }
52+ Preconditions .checkNotNull (alterColumnTypeEventVisitor );
5453 return alterColumnTypeEventVisitor .visit ((AlterColumnTypeEvent ) event );
5554 } else if (event instanceof CreateTableEvent ) {
56- if (createTableEventVisitor == null ) {
57- return null ;
58- }
55+ Preconditions .checkNotNull (createTableEventVisitor );
5956 return createTableEventVisitor .visit ((CreateTableEvent ) event );
6057 } else if (event instanceof DropColumnEvent ) {
61- if (dropColumnEventVisitor == null ) {
62- return null ;
63- }
58+ Preconditions .checkNotNull (dropColumnEventVisitor );
6459 return dropColumnEventVisitor .visit ((DropColumnEvent ) event );
6560 } else if (event instanceof DropTableEvent ) {
66- if (dropTableEventVisitor == null ) {
67- return null ;
68- }
61+ Preconditions .checkNotNull (dropTableEventVisitor );
6962 return dropTableEventVisitor .visit ((DropTableEvent ) event );
7063 } else if (event instanceof RenameColumnEvent ) {
71- if (renameColumnEventVisitor == null ) {
72- return null ;
73- }
64+ Preconditions .checkNotNull (renameColumnEventVisitor );
7465 return renameColumnEventVisitor .visit ((RenameColumnEvent ) event );
7566 } else if (event instanceof TruncateTableEvent ) {
76- if (truncateTableEventVisitor == null ) {
77- return null ;
78- }
67+ Preconditions .checkNotNull (truncateTableEventVisitor );
7968 return truncateTableEventVisitor .visit ((TruncateTableEvent ) event );
8069 } else if (event instanceof AlterTableCommentEvent ) {
81- if (alterTableCommentEventVisitor == null ) {
82- return null ;
83- }
70+ Preconditions .checkNotNull (alterTableCommentEventVisitor );
8471 return alterTableCommentEventVisitor .visit ((AlterTableCommentEvent ) event );
8572 } else {
8673 throw new IllegalArgumentException (
@@ -90,14 +77,14 @@ public static <T, E extends Throwable> T visit(
9077
9178 public static <E extends Throwable > void voidVisit (
9279 SchemaChangeEvent event ,
93- VoidVisitorHandler <AddColumnEvent , E > addColumnVisitor ,
94- VoidVisitorHandler <AlterColumnTypeEvent , E > alterColumnTypeEventVisitor ,
95- VoidVisitorHandler <CreateTableEvent , E > createTableEventVisitor ,
96- VoidVisitorHandler <DropColumnEvent , E > dropColumnEventVisitor ,
97- VoidVisitorHandler <DropTableEvent , E > dropTableEventVisitor ,
98- VoidVisitorHandler <RenameColumnEvent , E > renameColumnEventVisitor ,
99- VoidVisitorHandler <TruncateTableEvent , E > truncateTableEventVisitor ,
100- VoidVisitorHandler <AlterTableCommentEvent , E > alterTableCommentEventHandler )
80+ @ Nonnull VoidVisitorHandler <AddColumnEvent , E > addColumnVisitor ,
81+ @ Nonnull VoidVisitorHandler <AlterColumnTypeEvent , E > alterColumnTypeEventVisitor ,
82+ @ Nonnull VoidVisitorHandler <CreateTableEvent , E > createTableEventVisitor ,
83+ @ Nonnull VoidVisitorHandler <DropColumnEvent , E > dropColumnEventVisitor ,
84+ @ Nonnull VoidVisitorHandler <DropTableEvent , E > dropTableEventVisitor ,
85+ @ Nonnull VoidVisitorHandler <RenameColumnEvent , E > renameColumnEventVisitor ,
86+ @ Nonnull VoidVisitorHandler <TruncateTableEvent , E > truncateTableEventVisitor ,
87+ @ Nonnull VoidVisitorHandler <AlterTableCommentEvent , E > alterTableCommentEventHandler )
10188 throws E {
10289 visit (
10390 event ,
@@ -113,6 +100,7 @@ public static <E extends Throwable> void voidVisit(
113100
114101 private static <EVT extends SchemaChangeEvent , E extends Throwable >
115102 VisitorHandler <EVT , Void , E > wrapVoidVisitor (VoidVisitorHandler <EVT , E > handler ) {
103+ Preconditions .checkNotNull (handler );
116104 return event -> {
117105 handler .visit (event );
118106 return null ;
0 commit comments