|
Groovy example source code file (AbstractConcurrentMap.java)
The Groovy AbstractConcurrentMap.java source code/* * Copyright 2003-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.codehaus.groovy.util; public abstract class AbstractConcurrentMap<K, V> extends AbstractConcurrentMapBase { public AbstractConcurrentMap(Object segmentInfo) { super(segmentInfo); } public Segment segmentFor (int hash) { return (Segment) super.segmentFor(hash); } public V get(K key) { int hash = hash(key); return (V) segmentFor(hash).get(key, hash); } public Entry<K,V> getOrPut(K key, V value) { int hash = hash(key); return segmentFor(hash).getOrPut(key, hash, value); } public void put(K key, V value) { int hash = hash(key); segmentFor(hash).put(key, hash, value); } public void remove(K key) { int hash = hash(key); segmentFor(hash).remove(key, hash); } public abstract static class Segment<K,V> extends AbstractConcurrentMapBase.Segment { protected Segment(int initialCapacity) { super(initialCapacity); } public final V get(K key, int hash) { Object[] tab = table; Object o = tab[hash & (tab.length - 1)]; if (o != null) { if (o instanceof Entry) { Entry<K,V> e = (Entry) o; if (e.isEqual(key, hash)) { return e.getValue(); } } else { Object arr [] = (Object[]) o; for (int i = 0; i < arr.length; i++) { Entry<K,V> e = (Entry Other Groovy examples (source code examples)Here is a short list of links related to this Groovy AbstractConcurrentMap.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.