38
38
* @author Steve Ebersole
39
39
*/
40
40
public class EventType <T > {
41
- public static final EventType <LoadEventListener > LOAD
42
- = new EventType <LoadEventListener >( "load" , LoadEventListener .class );
43
- public static final EventType <ResolveNaturalIdEventListener > RESOLVE_NATURAL_ID
44
- = new EventType <ResolveNaturalIdEventListener >( "resolve-natural-id" , ResolveNaturalIdEventListener .class );
45
- public static final EventType <InitializeCollectionEventListener > INIT_COLLECTION
46
- = new EventType <InitializeCollectionEventListener >( "load-collection" , InitializeCollectionEventListener .class );
47
-
48
- public static final EventType <SaveOrUpdateEventListener > SAVE_UPDATE
49
- = new EventType <SaveOrUpdateEventListener >( "save-update" , SaveOrUpdateEventListener .class );
50
- public static final EventType <SaveOrUpdateEventListener > UPDATE
51
- = new EventType <SaveOrUpdateEventListener >( "update" , SaveOrUpdateEventListener .class );
52
- public static final EventType <SaveOrUpdateEventListener > SAVE
53
- = new EventType <SaveOrUpdateEventListener >( "save" , SaveOrUpdateEventListener .class );
54
- public static final EventType <PersistEventListener > PERSIST
55
- = new EventType <PersistEventListener >( "create" , PersistEventListener .class );
56
- public static final EventType <PersistEventListener > PERSIST_ONFLUSH
57
- = new EventType <PersistEventListener >( "create-onflush" , PersistEventListener .class );
58
-
59
- public static final EventType <MergeEventListener > MERGE
60
- = new EventType <MergeEventListener >( "merge" , MergeEventListener .class );
61
-
62
- public static final EventType <DeleteEventListener > DELETE
63
- = new EventType <DeleteEventListener >( "delete" , DeleteEventListener .class );
64
-
65
- public static final EventType <ReplicateEventListener > REPLICATE
66
- = new EventType <ReplicateEventListener >( "replicate" , ReplicateEventListener .class );
67
-
68
- public static final EventType <FlushEventListener > FLUSH
69
- = new EventType <FlushEventListener >( "flush" , FlushEventListener .class );
70
- public static final EventType <AutoFlushEventListener > AUTO_FLUSH
71
- = new EventType <AutoFlushEventListener >( "auto-flush" , AutoFlushEventListener .class );
72
- public static final EventType <DirtyCheckEventListener > DIRTY_CHECK
73
- = new EventType <DirtyCheckEventListener >( "dirty-check" , DirtyCheckEventListener .class );
74
- public static final EventType <FlushEntityEventListener > FLUSH_ENTITY
75
- = new EventType <FlushEntityEventListener >( "flush-entity" , FlushEntityEventListener .class );
76
-
77
- public static final EventType <EvictEventListener > EVICT
78
- = new EventType <EvictEventListener >( "evict" , EvictEventListener .class );
79
-
80
- public static final EventType <LockEventListener > LOCK
81
- = new EventType <LockEventListener >( "lock" , LockEventListener .class );
82
-
83
- public static final EventType <RefreshEventListener > REFRESH
84
- = new EventType <RefreshEventListener >( "refresh" , RefreshEventListener .class );
85
-
86
- public static final EventType <PreLoadEventListener > PRE_LOAD
87
- = new EventType <PreLoadEventListener >( "pre-load" , PreLoadEventListener .class );
88
- public static final EventType <PreDeleteEventListener > PRE_DELETE
89
- = new EventType <PreDeleteEventListener >( "pre-delete" , PreDeleteEventListener .class );
90
- public static final EventType <PreUpdateEventListener > PRE_UPDATE
91
- = new EventType <PreUpdateEventListener >( "pre-update" , PreUpdateEventListener .class );
92
- public static final EventType <PreInsertEventListener > PRE_INSERT
93
- = new EventType <PreInsertEventListener >( "pre-insert" , PreInsertEventListener .class );
94
-
95
- public static final EventType <PostLoadEventListener > POST_LOAD
96
- = new EventType <PostLoadEventListener >( "post-load" , PostLoadEventListener .class );
97
- public static final EventType <PostDeleteEventListener > POST_DELETE
98
- = new EventType <PostDeleteEventListener >( "post-delete" , PostDeleteEventListener .class );
99
- public static final EventType <PostUpdateEventListener > POST_UPDATE
100
- = new EventType <PostUpdateEventListener >( "post-update" , PostUpdateEventListener .class );
101
- public static final EventType <PostInsertEventListener > POST_INSERT
102
- = new EventType <PostInsertEventListener >( "post-insert" , PostInsertEventListener .class );
103
-
104
- public static final EventType <PostDeleteEventListener > POST_COMMIT_DELETE
105
- = new EventType <PostDeleteEventListener >( "post-commit-delete" , PostDeleteEventListener .class );
106
- public static final EventType <PostUpdateEventListener > POST_COMMIT_UPDATE
107
- = new EventType <PostUpdateEventListener >( "post-commit-update" , PostUpdateEventListener .class );
108
- public static final EventType <PostInsertEventListener > POST_COMMIT_INSERT
109
- = new EventType <PostInsertEventListener >( "post-commit-insert" , PostInsertEventListener .class );
110
-
111
- public static final EventType <PreCollectionRecreateEventListener > PRE_COLLECTION_RECREATE
112
- = new EventType <PreCollectionRecreateEventListener >( "pre-collection-recreate" , PreCollectionRecreateEventListener .class );
113
- public static final EventType <PreCollectionRemoveEventListener > PRE_COLLECTION_REMOVE
114
- = new EventType <PreCollectionRemoveEventListener >( "pre-collection-remove" , PreCollectionRemoveEventListener .class );
115
- public static final EventType <PreCollectionUpdateEventListener > PRE_COLLECTION_UPDATE
116
- = new EventType <PreCollectionUpdateEventListener >( "pre-collection-update" , PreCollectionUpdateEventListener .class );
117
-
118
- public static final EventType <PostCollectionRecreateEventListener > POST_COLLECTION_RECREATE
119
- = new EventType <PostCollectionRecreateEventListener >( "post-collection-recreate" , PostCollectionRecreateEventListener .class );
120
- public static final EventType <PostCollectionRemoveEventListener > POST_COLLECTION_REMOVE
121
- = new EventType <PostCollectionRemoveEventListener >( "post-collection-remove" , PostCollectionRemoveEventListener .class );
122
- public static final EventType <PostCollectionUpdateEventListener > POST_COLLECTION_UPDATE
123
- = new EventType <PostCollectionUpdateEventListener >( "post-collection-update" , PostCollectionUpdateEventListener .class );
41
+ public static final EventType <LoadEventListener > LOAD = create ( "load" , LoadEventListener .class );
42
+ public static final EventType <ResolveNaturalIdEventListener > RESOLVE_NATURAL_ID = create ( "resolve-natural-id" , ResolveNaturalIdEventListener .class );
124
43
44
+ public static final EventType <InitializeCollectionEventListener > INIT_COLLECTION = create ( "load-collection" , InitializeCollectionEventListener .class );
45
+
46
+ public static final EventType <SaveOrUpdateEventListener > SAVE_UPDATE = create ( "save-update" , SaveOrUpdateEventListener .class );
47
+ public static final EventType <SaveOrUpdateEventListener > UPDATE = create ( "update" , SaveOrUpdateEventListener .class );
48
+ public static final EventType <SaveOrUpdateEventListener > SAVE = create ( "save" , SaveOrUpdateEventListener .class );
49
+ public static final EventType <PersistEventListener > PERSIST = create ( "create" , PersistEventListener .class );
50
+ public static final EventType <PersistEventListener > PERSIST_ONFLUSH = create ( "create-onflush" , PersistEventListener .class );
51
+
52
+ public static final EventType <MergeEventListener > MERGE = create ( "merge" , MergeEventListener .class );
53
+
54
+ public static final EventType <DeleteEventListener > DELETE = create ( "delete" , DeleteEventListener .class );
55
+
56
+ public static final EventType <ReplicateEventListener > REPLICATE = create ( "replicate" , ReplicateEventListener .class );
57
+
58
+ public static final EventType <FlushEventListener > FLUSH = create ( "flush" , FlushEventListener .class );
59
+ public static final EventType <AutoFlushEventListener > AUTO_FLUSH = create ( "auto-flush" , AutoFlushEventListener .class );
60
+ public static final EventType <DirtyCheckEventListener > DIRTY_CHECK = create ( "dirty-check" , DirtyCheckEventListener .class );
61
+ public static final EventType <FlushEntityEventListener > FLUSH_ENTITY = create ( "flush-entity" , FlushEntityEventListener .class );
62
+
63
+ public static final EventType <ClearEventListener > CLEAR = create ( "clear" , ClearEventListener .class );
64
+ public static final EventType <EvictEventListener > EVICT = create ( "evict" , EvictEventListener .class );
65
+
66
+ public static final EventType <LockEventListener > LOCK = create ( "lock" , LockEventListener .class );
67
+
68
+ public static final EventType <RefreshEventListener > REFRESH = create ( "refresh" , RefreshEventListener .class );
69
+
70
+ public static final EventType <PreLoadEventListener > PRE_LOAD = create ( "pre-load" , PreLoadEventListener .class );
71
+ public static final EventType <PreDeleteEventListener > PRE_DELETE = create ( "pre-delete" , PreDeleteEventListener .class );
72
+ public static final EventType <PreUpdateEventListener > PRE_UPDATE = create ( "pre-update" , PreUpdateEventListener .class );
73
+ public static final EventType <PreInsertEventListener > PRE_INSERT = create ( "pre-insert" , PreInsertEventListener .class );
74
+
75
+ public static final EventType <PostLoadEventListener > POST_LOAD = create ( "post-load" , PostLoadEventListener .class );
76
+ public static final EventType <PostDeleteEventListener > POST_DELETE = create ( "post-delete" , PostDeleteEventListener .class );
77
+ public static final EventType <PostUpdateEventListener > POST_UPDATE = create ( "post-update" , PostUpdateEventListener .class );
78
+ public static final EventType <PostInsertEventListener > POST_INSERT = create ( "post-insert" , PostInsertEventListener .class );
79
+
80
+ public static final EventType <PostDeleteEventListener > POST_COMMIT_DELETE = create ( "post-commit-delete" , PostDeleteEventListener .class );
81
+ public static final EventType <PostUpdateEventListener > POST_COMMIT_UPDATE = create ( "post-commit-update" , PostUpdateEventListener .class );
82
+ public static final EventType <PostInsertEventListener > POST_COMMIT_INSERT = create ( "post-commit-insert" , PostInsertEventListener .class );
83
+
84
+ public static final EventType <PreCollectionRecreateEventListener > PRE_COLLECTION_RECREATE = create ( "pre-collection-recreate" , PreCollectionRecreateEventListener .class );
85
+ public static final EventType <PreCollectionRemoveEventListener > PRE_COLLECTION_REMOVE = create ( "pre-collection-remove" , PreCollectionRemoveEventListener .class );
86
+ public static final EventType <PreCollectionUpdateEventListener > PRE_COLLECTION_UPDATE = create ( "pre-collection-update" , PreCollectionUpdateEventListener .class );
87
+
88
+ public static final EventType <PostCollectionRecreateEventListener > POST_COLLECTION_RECREATE = create ( "post-collection-recreate" , PostCollectionRecreateEventListener .class );
89
+ public static final EventType <PostCollectionRemoveEventListener > POST_COLLECTION_REMOVE = create ( "post-collection-remove" , PostCollectionRemoveEventListener .class );
90
+ public static final EventType <PostCollectionUpdateEventListener > POST_COLLECTION_UPDATE = create ( "post-collection-update" , PostCollectionUpdateEventListener .class );
91
+
92
+
93
+ private static <T > EventType <T > create (String name , Class <T > listenerClass ) {
94
+ return new EventType <T >( name , listenerClass );
95
+ }
125
96
126
97
/**
127
98
* Maintain a map of {@link EventType} instances keyed by name for lookup by name as well as {@link #values()}
@@ -132,14 +103,13 @@ public class EventType<T> {
132
103
@ Override
133
104
public Map <String , EventType > run () {
134
105
final Map <String , EventType > typeByNameMap = new HashMap <String , EventType >();
135
- final Field [] fields = EventType .class .getDeclaredFields ();
136
- for ( int i = 0 , max = fields .length ; i < max ; i ++ ) {
137
- if ( EventType .class .isAssignableFrom ( fields [i ].getType () ) ) {
106
+ for ( Field field : EventType .class .getDeclaredFields () ) {
107
+ if ( EventType .class .isAssignableFrom ( field .getType () ) ) {
138
108
try {
139
- final EventType typeField = ( EventType ) fields [ i ] .get ( null );
109
+ final EventType typeField = (EventType ) field .get ( null );
140
110
typeByNameMap .put ( typeField .eventName (), typeField );
141
111
}
142
- catch ( Exception t ) {
112
+ catch ( Exception t ) {
143
113
throw new HibernateException ( "Unable to initialize EventType map" , t );
144
114
}
145
115
}
0 commit comments