ttomcat-1778514358873.zip-extract/_dependencies/maven/com.h2database_h2-2.2.220/org/h2/value/CompareModeDefault.java

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

      
    
Rootfs path

      
    
Size
2392 (2.3 KB)
MD5
1ac71d60ef8a0d8dd1fe588907be3aa9
SHA1
99a54b4e784421e9e8c127864a2ca3668cccef3a
SHA256
291c3f437f2f3e9250dd6602afed52722d9dfd76da49105737d7c92e95b85c16
SHA512

      
    
SHA1_git
0171bbe8e3f341574a8430179221cb520d1018c8
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
CompareModeDefault.java | 2.3 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: H2 Group */ package org.h2.value; import java.text.CollationKey; import java.text.Collator; import org.h2.engine.SysProperties; import org.h2.message.DbException; import org.h2.util.SmallLRUCache; /** * The default implementation of CompareMode. It uses java.text.Collator. */ public class CompareModeDefault extends CompareMode { private final Collator collator; private final SmallLRUCache<String, CollationKey> collationKeys; private volatile CompareModeDefault caseInsensitive; protected CompareModeDefault(String name, int strength) { super(name, strength); collator = CompareMode.getCollator(name); if (collator == null) { throw DbException.getInternalError(name); } collator.setStrength(strength); int cacheSize = SysProperties.COLLATOR_CACHE_SIZE; if (cacheSize != 0) { collationKeys = SmallLRUCache.newInstance(cacheSize); } else { collationKeys = null; } } @Override public int compareString(String a, String b, boolean ignoreCase) { if (ignoreCase && getStrength() > Collator.SECONDARY) { CompareModeDefault i = caseInsensitive; if (i == null) { caseInsensitive = i = new CompareModeDefault(getName(), Collator.SECONDARY); } return i.compareString(a, b, false); } int comp; if (collationKeys != null) { CollationKey aKey = getKey(a); CollationKey bKey = getKey(b); comp = aKey.compareTo(bKey); } else { comp = collator.compare(a, b); } return comp; } @Override public boolean equalsChars(String a, int ai, String b, int bi, boolean ignoreCase) { return compareString(a.substring(ai, ai + 1), b.substring(bi, bi + 1), ignoreCase) == 0; } private CollationKey getKey(String a) { synchronized (collationKeys) { CollationKey key = collationKeys.get(a); if (key == null) { key = collator.getCollationKey(a); collationKeys.put(a, key); } return key; } } }
Detected license expression

      
    
Detected license expression (SPDX)

      
    
Percentage of license text
5.07
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 expression License clue details
(mpl-2.0 OR epl-1.0) AND proprietary-license {'score': 20.37, 'matcher': '3-seq', 'end_line': 3, 'rule_url': 'https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_or_epl-1.0_and_proprietary-license_2.RULE', 'from_file': None, 'start_line': 2, 'matched_text': ' * Copyright 2004-2023 H2 Group. Multiple-Licensed under the MPL 2.0,\n * and the EPL 1.0 (https://h2database.com/html/license.html).', 'match_coverage': 20.37, 'matched_length': 11, 'rule_relevance': 100, 'rule_identifier': 'mpl-2.0_or_epl-1.0_and_proprietary-license_2.RULE', 'license_expression': '(mpl-2.0 OR epl-1.0) AND proprietary-license', 'license_expression_spdx': '(MPL-2.0 OR EPL-1.0) AND LicenseRef-scancode-proprietary-license'}
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