public int size() { // Note: cannot simply return L1.size + L2.size // because there might be overlaping of keys synchronized (_cacheL2) { mergeIfL2NotEmpty(); return _cacheL1.size(); } }
public int size() { // Note: cannot simply return L1.size + L2.size // because there might be overlaping of keys synchronized (_cacheL2) { mergeIfL2NotEmpty(); return _cacheL1.size(); } }
public int size() { // Note: cannot simply return L1.size + L2.size // because there might be overlaping of keys synchronized (_cacheL2) { mergeIfL2NotEmpty(); return _cacheL1.size(); } }
public Set entrySet() { synchronized (_cacheL2) { mergeIfL2NotEmpty(); return Collections.unmodifiableSet(_cacheL1.entrySet()); } }
public Set keySet() { synchronized (_cacheL2) { mergeIfL2NotEmpty(); return Collections.unmodifiableSet(_cacheL1.keySet()); } }
public Collection values() { synchronized (_cacheL2) { mergeIfL2NotEmpty(); return Collections.unmodifiableCollection(_cacheL1.values()); } }
public Collection values() { synchronized (_cacheL2) { mergeIfL2NotEmpty(); return Collections.unmodifiableCollection(_cacheL1.values()); } }
public Collection values() { synchronized (_cacheL2) { mergeIfL2NotEmpty(); return Collections.unmodifiableCollection(_cacheL1.values()); } }
public Set keySet() { synchronized (_cacheL2) { mergeIfL2NotEmpty(); return Collections.unmodifiableSet(_cacheL1.keySet()); } }
public Set entrySet() { synchronized (_cacheL2) { mergeIfL2NotEmpty(); return Collections.unmodifiableSet(_cacheL1.entrySet()); } }
public Set keySet() { synchronized (_cacheL2) { mergeIfL2NotEmpty(); return Collections.unmodifiableSet(_cacheL1.keySet()); } }
public Set entrySet() { synchronized (_cacheL2) { mergeIfL2NotEmpty(); return Collections.unmodifiableSet(_cacheL1.entrySet()); } }
public void putAll(Map map) { synchronized (_cacheL2) { mergeIfL2NotEmpty(); // sepatare merge to avoid increasing L2 size too much // (it cannot be reallocated, it is final) merge(map); } }
public void putAll(Map map) { synchronized (_cacheL2) { mergeIfL2NotEmpty(); // sepatare merge to avoid increasing L2 size too much // (it cannot be reallocated, it is final) merge(map); } }
public void putAll(Map map) { synchronized (_cacheL2) { mergeIfL2NotEmpty(); // sepatare merge to avoid increasing L2 size too much // (it cannot be reallocated, it is final) merge(map); } }