X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=third-party%2Fopenflowj%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenflow%2Futil%2FLRULinkedHashMap.java;fp=third-party%2Fopenflowj%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenflow%2Futil%2FLRULinkedHashMap.java;h=239ef38b34a58d8147057fd1c71884eab86279de;hp=0000000000000000000000000000000000000000;hb=42210c03b0a4c54706320ba9f55794c0abd4d201;hpb=7576b38152b393793b1c9ec3df0ff86685f95236;ds=sidebyside diff --git a/third-party/openflowj/src/main/java/org/openflow/util/LRULinkedHashMap.java b/third-party/openflowj/src/main/java/org/openflow/util/LRULinkedHashMap.java new file mode 100644 index 0000000000..239ef38b34 --- /dev/null +++ b/third-party/openflowj/src/main/java/org/openflow/util/LRULinkedHashMap.java @@ -0,0 +1,25 @@ +package org.openflow.util; + +import java.util.LinkedHashMap; + +public class LRULinkedHashMap extends LinkedHashMap { + private static final long serialVersionUID = -2964986094089626647L; + protected int maximumCapacity; + + public LRULinkedHashMap(int initialCapacity, int maximumCapacity) { + super(initialCapacity, 0.75f, true); + this.maximumCapacity = maximumCapacity; + } + + public LRULinkedHashMap(int maximumCapacity) { + super(16, 0.75f, true); + this.maximumCapacity = maximumCapacity; + } + + @Override + protected boolean removeEldestEntry(java.util.Map.Entry eldest) { + if (this.size() > maximumCapacity) + return true; + return false; + } +}