.class public Lcom/fasterxml/jackson/databind/util/LRUMap; .super Ljava/lang/Object; .source "LRUMap.java" # interfaces .implements Ljava/io/Serializable; # annotations .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Ljava/io/Serializable;" } .end annotation # static fields .field private static final serialVersionUID:J = 0x1L # instance fields .field public transient _jdkSerializeMaxEntries:I .field public final transient _map:Ljava/util/concurrent/ConcurrentHashMap; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/ConcurrentHashMap<", "TK;TV;>;" } .end annotation .end field .field public final transient _maxEntries:I # direct methods .method public constructor (II)V .locals 3 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 new-instance v0, Ljava/util/concurrent/ConcurrentHashMap; const v1, 0x3f4ccccd # 0.8f const/4 v2, 0x4 invoke-direct {v0, p1, v1, v2}, Ljava/util/concurrent/ConcurrentHashMap;->(IFI)V iput-object v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_map:Ljava/util/concurrent/ConcurrentHashMap; .line 3 iput p2, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_maxEntries:I return-void .end method .method private readObject(Ljava/io/ObjectInputStream;)V .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readInt()I move-result p1 iput p1, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_jdkSerializeMaxEntries:I return-void .end method .method private writeObject(Ljava/io/ObjectOutputStream;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 iget v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_jdkSerializeMaxEntries:I invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeInt(I)V return-void .end method # virtual methods .method public clear()V .locals 1 .line 1 iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_map:Ljava/util/concurrent/ConcurrentHashMap; invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;->clear()V return-void .end method .method public get(Ljava/lang/Object;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", ")TV;" } .end annotation .line 1 iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_map:Ljava/util/concurrent/ConcurrentHashMap; invoke-virtual {v0, p1}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(TK;TV;)TV;" } .end annotation .line 1 iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_map:Ljava/util/concurrent/ConcurrentHashMap; invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;->size()I move-result v0 iget v1, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_maxEntries:I if-lt v0, v1, :cond_1 .line 2 monitor-enter p0 .line 3 :try_start_0 iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_map:Ljava/util/concurrent/ConcurrentHashMap; invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;->size()I move-result v0 iget v1, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_maxEntries:I if-lt v0, v1, :cond_0 .line 4 invoke-virtual {p0}, Lcom/fasterxml/jackson/databind/util/LRUMap;->clear()V .line 5 :cond_0 monitor-exit p0 goto :goto_0 :catchall_0 move-exception p1 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .line 6 :cond_1 :goto_0 iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_map:Ljava/util/concurrent/ConcurrentHashMap; invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(TK;TV;)TV;" } .end annotation .line 1 iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_map:Ljava/util/concurrent/ConcurrentHashMap; invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;->size()I move-result v0 iget v1, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_maxEntries:I if-lt v0, v1, :cond_1 .line 2 monitor-enter p0 .line 3 :try_start_0 iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_map:Ljava/util/concurrent/ConcurrentHashMap; invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;->size()I move-result v0 iget v1, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_maxEntries:I if-lt v0, v1, :cond_0 .line 4 invoke-virtual {p0}, Lcom/fasterxml/jackson/databind/util/LRUMap;->clear()V .line 5 :cond_0 monitor-exit p0 goto :goto_0 :catchall_0 move-exception p1 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .line 6 :cond_1 :goto_0 iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_map:Ljava/util/concurrent/ConcurrentHashMap; invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public readResolve()Ljava/lang/Object; .locals 2 .line 1 new-instance v0, Lcom/fasterxml/jackson/databind/util/LRUMap; iget v1, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_jdkSerializeMaxEntries:I invoke-direct {v0, v1, v1}, Lcom/fasterxml/jackson/databind/util/LRUMap;->(II)V return-object v0 .end method .method public size()I .locals 1 .line 1 iget-object v0, p0, Lcom/fasterxml/jackson/databind/util/LRUMap;->_map:Ljava/util/concurrent/ConcurrentHashMap; invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;->size()I move-result v0 return v0 .end method