ttomcat-1778514358873.zip-extract/_dependencies/maven/com.h2database_h2-2.2.220/org/h2/util/CacheSecondLevel.java

Path
ttomcat-1778514358873.zip-extract/_dependencies/maven/com.h2database_h2-2.2.220/org/h2/util/CacheSecondLevel.java
Status
scanned
Type
file
Name
CacheSecondLevel.java
Extension
.java
Programming language
Java
Mime type
text/x-java
File type
Java source, ASCII text
Tag

      
    
Rootfs path

      
    
Size
2033 (2.0 KB)
MD5
79b7374f2fa2a7d8a92036cce6deca9b
SHA1
0b9c69ce911c4a267a02827abc3228e34395029d
SHA256
7bfd0d629f7392ae1919e117408a6d7a458c2ff249f466f4eb32e0d70c31e621
SHA512

      
    
SHA1_git
e295e41a20d5fe2705bf1039ff6c7817c62aa6ac
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
CacheSecondLevel.java | 2.0 KB |

/* * Copyright 2004-2023 H2 Group. Multiple-Licensed under the MPL 2.0, * and the EPL 1.0 (https://h2database.com/html/license.html). * Initial Developer: Jan Kotek */ package org.h2.util; import java.util.ArrayList; import java.util.Map; /** * Cache which wraps another cache (proxy pattern) and adds caching using map. * This is useful for WeakReference, SoftReference or hard reference cache. */ class CacheSecondLevel implements Cache { private final Cache baseCache; private final Map<Integer, CacheObject> map; CacheSecondLevel(Cache cache, Map<Integer, CacheObject> map) { this.baseCache = cache; this.map = map; } @Override public void clear() { map.clear(); baseCache.clear(); } @Override public CacheObject find(int pos) { CacheObject ret = baseCache.find(pos); if (ret == null) { ret = map.get(pos); } return ret; } @Override public CacheObject get(int pos) { CacheObject ret = baseCache.get(pos); if (ret == null) { ret = map.get(pos); } return ret; } @Override public ArrayList<CacheObject> getAllChanged() { return baseCache.getAllChanged(); } @Override public int getMaxMemory() { return baseCache.getMaxMemory(); } @Override public int getMemory() { return baseCache.getMemory(); } @Override public void put(CacheObject r) { baseCache.put(r); map.put(r.getPos(), r); } @Override public boolean remove(int pos) { boolean result = baseCache.remove(pos); result |= map.remove(pos) != null; return result; } @Override public void setMaxMemory(int size) { baseCache.setMaxMemory(size); } @Override public CacheObject update(int pos, CacheObject record) { CacheObject oldRec = baseCache.update(pos, record); map.put(pos, record); return oldRec; } }
Detected license expression
mpl-2.0 AND epl-1.0
Detected license expression (SPDX)
MPL-2.0 AND EPL-1.0
Percentage of license text
4.17
Copyrights
- end_line: 2
  copyright: Copyright 2004-2023 H2 Group. Multiple-Licensed
  start_line: 2
Holders
- holder: H2 Group. Multiple-Licensed
  end_line: 2
  start_line: 2
Authors

      
    
License detections License expression License expression SPDX
mpl_2_0_and_epl_1_0-796bf8d7-f485-3520-923d-e6a4b1ecd2f3 mpl-2.0 AND epl-1.0 MPL-2.0 AND EPL-1.0
URL Start line End line
https://h2database.com/html/license.html 3 3
Package URL License Primary language
pkg:osgi/com.h2database.source@2.2.220