![JAR search and dependency download from the Maven repository](/logo.png)
com.google.common.util.concurrent.CycleDetectingLockFactory.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plantuml Show documentation
Show all versions of plantuml Show documentation
PlantUML is a component that allows to quickly write :
* sequence diagram,
* use case diagram,
* class diagram,
* activity diagram,
* component diagram,
* state diagram
* object diagram
???? 4F
;com/google/common/util/concurrent/CycleDetectingLockFactory lockStateChanged S(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingLock;)V
aboutToAcquire
G(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;)V logger .Lcom/google/common/util/concurrent/LazyLogger;
newReentrantLock ?(Ljava/lang/String;Z)Ljava/util/concurrent/locks/ReentrantLock; policy DLcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy; Dcom/google/common/util/concurrent/CycleDetectingLockFactory$Policies DISABLED FLcom/google/common/util/concurrent/CycleDetectingLockFactory$Policies; ! (java/util/concurrent/locks/ReentrantLock
# $ (Z)V & Wcom/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingReentrantLock ( Icom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode
' * + (Ljava/lang/String;)V
% - . ?(Lcom/google/common/util/concurrent/CycleDetectingLockFactory;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;ZLcom/google/common/util/concurrent/CycleDetectingLockFactory$1;)V
0 1 2 newReentrantReadWriteLock H(Ljava/lang/String;Z)Ljava/util/concurrent/locks/ReentrantReadWriteLock; 4 1java/util/concurrent/locks/ReentrantReadWriteLock
3 # 7 `com/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingReentrantReadWriteLock
6 -
: ; < = > $com/google/common/base/Preconditions checkNotNull &(Ljava/lang/Object;)Ljava/lang/Object;
@ A B getOrCreateNodes "(Ljava/lang/Class;)Ljava/util/Map; D Pcom/google/common/util/concurrent/CycleDetectingLockFactory$WithExplicitOrdering
C F G V(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;Ljava/util/Map;)V I J K lockGraphNodesPerType $Ljava/util/concurrent/ConcurrentMap; M N O P > "java/util/concurrent/ConcurrentMap get R
java/util/Map
T U B createNodes M W X Y putIfAbsent 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
[ \ ] ^ Y "com/google/common/base/MoreObjects firstNonNull
` a b c d com/google/common/collect/Maps
newEnumMap &(Ljava/lang/Class;)Ljava/util/EnumMap;
f g h i j java/lang/Class getEnumConstants ()[Ljava/lang/Object; l [Ljava/lang/Enum;
n o p q r com/google/common/collect/Lists newArrayListWithCapacity (I)Ljava/util/ArrayList;
t u v getLockName $(Ljava/lang/Enum;)Ljava/lang/String;
x y z { | java/util/ArrayList add (Ljava/lang/Object;)Z
~ ? ? ? java/util/EnumMap put 6(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
x ? P ? (I)Ljava/lang/Object; ? ? THROW
x ? ? ? subList (II)Ljava/util/List;
' ? ? ? checkAcquiredLocks W(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;Ljava/util/List;)V
? ? ? ? ? java/util/Collections unmodifiableMap (Ljava/util/Map;)Ljava/util/Map; ? java/lang/StringBuilder
? ? ? ()V
? ? ? ? ? java/lang/Enum getDeclaringClass ()Ljava/lang/Class;
f ? ? ?
getSimpleName ()Ljava/lang/String;
? ? ? ? append -(Ljava/lang/String;)Ljava/lang/StringBuilder; ? .
? ? ? ? name
? ? ? ? toString
? ? ? java/lang/Object ? Bcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy ? ? ? ? ? Ncom/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingLock isAcquiredByCurrentThread ()Z ? ? ?
acquiredLocks Ljava/lang/ThreadLocal;
? ? ? P ? java/lang/ThreadLocal ()Ljava/lang/Object;
? ? ? ? > java/util/Objects requireNonNull ? ? ? ? getLockGraphNode M()Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;
x ? ? ? size ()I
x ? ? ? remove ? "com/google/common/collect/MapMaker
? ?
? ? ? ? weakKeys &()Lcom/google/common/collect/MapMaker;
? ? ? ? makeMap &()Ljava/util/concurrent/ConcurrentMap; ? ,com/google/common/util/concurrent/LazyLogger
? ? ? (Ljava/lang/Class;)V ? =com/google/common/util/concurrent/CycleDetectingLockFactory$1
? ? Signature ?Ljava/util/concurrent/ConcurrentMap;>;Ljava/util/Map<+Ljava/lang/Enum<*>;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;>;>; {Ljava/lang/ThreadLocal;>; newInstance ?(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;)Lcom/google/common/util/concurrent/CycleDetectingLockFactory; Code LineNumberTable LocalVariableTable MethodParameters >(Ljava/lang/String;)Ljava/util/concurrent/locks/ReentrantLock; this =Lcom/google/common/util/concurrent/CycleDetectingLockFactory; lockName Ljava/lang/String; fair Z
StackMapTable G(Ljava/lang/String;)Ljava/util/concurrent/locks/ReentrantReadWriteLock; newInstanceWithExplicitOrdering ?(Ljava/lang/Class;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;)Lcom/google/common/util/concurrent/CycleDetectingLockFactory$WithExplicitOrdering; enumClass Ljava/lang/Class; lockGraphNodes Ljava/util/Map; LocalVariableTypeTable Ljava/lang/Class; _Ljava/util/Map; ?;>(Ljava/lang/Class;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;)Lcom/google/common/util/concurrent/CycleDetectingLockFactory$WithExplicitOrdering; clazz existing created ?;>(Ljava/lang/Class;)Ljava/util/Map<+TE;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode;>; node KLcom/google/common/util/concurrent/CycleDetectingLockFactory$LockGraphNode; key Ljava/lang/Enum; i I map Ljava/util/EnumMap; keys numKeys nodes Ljava/util/ArrayList; TE; cLjava/util/EnumMap; [TE; bLjava/util/ArrayList; ?;>(Ljava/lang/Class;)Ljava/util/Map; RuntimeInvisibleAnnotations 1Lcom/google/common/annotations/VisibleForTesting; rank Ljava/lang/Enum<*>; '(Ljava/lang/Enum<*>;)Ljava/lang/String; acquiredLockList lock PLcom/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingLock;
access$100 0()Lcom/google/common/util/concurrent/LazyLogger; ?(Lcom/google/common/util/concurrent/CycleDetectingLockFactory$Policy;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$1;)V x0 x1 ?Lcom/google/common/util/concurrent/CycleDetectingLockFactory$1;
access$600 ?(Lcom/google/common/util/concurrent/CycleDetectingLockFactory;Lcom/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingLock;)V
access$700
SourceFile CycleDetectingLockFactory.java RuntimeVisibleAnnotations CLcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault; 0Lcom/google/common/annotations/J2ktIncompatible; /Lcom/google/common/annotations/GwtIncompatible; InnerClasses CycleDetectingLock Policy Policies CycleDetectingReentrantLock
LockGraphNode $CycleDetectingReentrantReadWriteLock WithExplicitOrdering; \com/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingReentrantWriteLock CycleDetectingReentrantWriteLock> [com/google/common/util/concurrent/CycleDetectingLockFactory$CycleDetectingReentrantReadLock CycleDetectingReentrantReadLockA Vcom/google/common/util/concurrent/CycleDetectingLockFactory$PotentialDeadlockException PotentialDeadlockExceptionD Mcom/google/common/util/concurrent/CycleDetectingLockFactory$ExampleStackTrace ExampleStackTrace ! ? J K ? ? ? ? ? ? ? ? ? 3 ? Y*?
? ? ? ? ? ? ? ; *+? ? ? ? ? ? ? ? ? ? ? ? (*? ? ? ? Y? "? ? %Y*? 'Y+? )? ,? ? ?
? ? ' ? ? ( ? ? ( ? ? ( ? ? ? Q ? ? ? 1 ? ? ; *+? /? ? ? ? ? ? ? ? ? ? 1 2 ? (*? ? ? ? 3Y? 5? ? 6Y*? 'Y+? )? 8? ?
' ? ( ? ? ( ? ? ( ? ? ? Q 3 ? ? ? ? ? ? *? 9W+? 9W*? ?M? CY+,? E? ?
? ? ?
? ?
? ? ? ?
A B ? ? /? H*? L ? QL+? +?*? SM? H*,? V ? QL+,? Z? Q? ?
! # $ &% ? / ?
" /
" ? ? Q ? ? U B ? ?
?*? _L*? e? kM,?>? m:,:?66? /2:? 'Y? s? ): ? wW+ ? }W????6? !? ?? '? ?? ?? ?????6d? #? ?? '? `? ?? ?????+? ?? ? B 0 1
2 3 5 /6 =7 E8 N5 T; ]<