
com.groupbyinc.flux.common.apache.lucene.search.ReferenceManager.class Maven / Gradle / Ivy
???? 4 ? @com/groupbyinc/flux/common/apache/lucene/search/ReferenceManager ;Ljava/lang/Object;Ljava/io/Closeable; java/lang/Object java/io/Closeable ReferenceManager.java Pcom/groupbyinc/flux/common/apache/lucene/search/ReferenceManager$RefreshListener RefreshListener REFERENCE_MANAGER_IS_CLOSED_MSG Ljava/lang/String; this ReferenceManager is closed current Ljava/lang/Object; TG; refreshLock !Ljava/util/concurrent/locks/Lock; refreshListeners Ljava/util/List; dLjava/util/List; $assertionsDisabled Z ()V
(java/util/concurrent/locks/ReentrantLock
! )java/util/concurrent/CopyOnWriteArrayList #
$ & this GLcom/groupbyinc/flux/common/apache/lucene/search/ReferenceManager; BLcom/groupbyinc/flux/common/apache/lucene/search/ReferenceManager;
ensureOpen , Ecom/groupbyinc/flux/common/apache/lucene/store/AlreadyClosedException . (Ljava/lang/String;)V 0
/ 1
swapReference (Ljava/lang/Object;)V java/io/IOException 5 +
7 release 9 4
: newReference oldReference decRef refreshIfNeeded &(Ljava/lang/Object;)Ljava/lang/Object; tryIncRef (Ljava/lang/Object;)Z acquire ()Ljava/lang/Object; A B
E getRefCount (Ljava/lang/Object;)I G H
I K java/lang/AssertionError M
N java/lang/IllegalStateException P ?The managed reference has already closed - this is likely a bug when the reference count is modified outside of the ReferenceManager R
Q 1 ref close 3 4
W
afterClose Y
Z doMaybeRefresh java/util/concurrent/locks/Lock ] lock _ ^ ` C D
b notifyRefreshListenersBefore d
e ? @
g ;refreshIfNeeded should return null if refresh wasn't needed i 4
N k java/lang/Throwable m notifyRefreshListenersRefreshed (Z)V o p
q afterMaybeRefresh s
t unlock v ^ w reference refreshed maybeRefresh ()Z tryLock } | ^ ~ \
? doTryRefresh maybeRefreshBlocking > 4
? java/util/List ? iterator ()Ljava/util/Iterator; ? ? ? ? java/util/Iterator ? hasNext ? | ? ? next ? D ? ?
beforeRefresh ?
? refreshListener RLcom/groupbyinc/flux/common/apache/lucene/search/ReferenceManager$RefreshListener; afterRefresh ? p
?
didRefresh addListener U(Lcom/groupbyinc/flux/common/apache/lucene/search/ReferenceManager$RefreshListener;)V java/lang/NullPointerException ? Listener must not be null ?
? 1 add ? B ? ? listener removeListener remove ? B ? ? java/lang/Class ? desiredAssertionStatus ? |
? ?
ConstantValue Signature Code LocalVariableTable LocalVariableTypeTable LineNumberTable
StackMapTable
Exceptions (TG;)V (TG;)TG; (TG;)Z ()TG; (TG;)I
SourceFile InnerClasses!
? D ? ? ? _ *? *? Y? ? "*? $Y? %? '? ? ( * ? ( ) ? * 0 2 + ? _ *? -?
? /Y? 2?? ? ( * ? ( ) ? 5 6 8 ? " 3 4 ? ? *? 8*? -M*+? -*,? ;? ? ( * <