public static ExternalListenerMetadata introspect ( Class < ? > listenerClass ) { ExternalListenerMetadata cachedMetadata = cache . get ( listenerClass ) ; if ( cachedMetadata != null ) { return cachedMetadata ; } synchronized ( listenerClass ) { cachedMetadata = cache . get ( listenerClass ) ; if ( cachedMetadata != null ) { return cachedMetadata ; } ExternalListenerIntrospector introspector = new ExternalListenerIntrospector ( listenerClass ) ; introspector . introspect ( ) ; cache . put ( listenerClass , introspector . metadata ) ; return introspector . metadata ; } }
Introspects the given entity listener class and returns its metadata .