Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*-
  * See the file LICENSE for redistribution information.
  *
  * Copyright (c) 2002, 2013 Oracle and/or its affiliates.  All rights reserved.
  *
  */
 
 package com.sleepycat.persist.impl;
 
Proxy for a Map.

Author(s):
Mark Hayes
abstract class MapProxy<K, V> implements PersistentProxy<Map<K, V>> {
    private K[] keys;
    private V[] values;
    protected MapProxy() {}
    public final void initializeProxy(Map<K, V> map) {
        int size = map.size();
         = (K[]) new Object[size];
         = (V[]) new Object[size];
        int i = 0;
        for (Map.Entry<K, V> entry : map.entrySet()) {
            [i] = entry.getKey();
            [i] = entry.getValue();
            i += 1;
        }
    }
    public final Map<K, V> convertProxy() {
        int size = .;
        Map<K, V> map = newInstance(size);
        for (int i = 0; i < sizei += 1) {
            map.put([i], [i]);
        }
        return map;
    }
    protected abstract Map<K, V> newInstance(int size);
    @Persistent(proxyFor=HashMap.class)
    static class HashMapProxy<K, V> extends MapProxy<K, V> {
        protected HashMapProxy() {}
        protected Map<K, V> newInstance(int size) {
            return new HashMap<K, V>(size);
        }
    }
    @Persistent(proxyFor=TreeMap.class)
    static class TreeMapProxy<K, V> extends MapProxy<K, V> {
        protected TreeMapProxy() {}
        protected Map<K, V> newInstance(int size) {
            return new TreeMap<K, V>();
        }
    }
     
    @Persistent(proxyFor=LinkedHashMap.class
    static class LinkedHashMapProxy<K, V> extends MapProxy<K, V> { 
 
        protected LinkedHashMapProxy() {} 
 
        protected Map<K, V> newInstance(int size) { 
            return new LinkedHashMap<K, V>(); 
        } 
    } 
New to GrepCode? Check out our FAQ X