Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.codehaus.groovy.util;
 
 
 
 public enum ReferenceType {
    SOFT {
        @Override
        protected <T,V extends FinalizableReference<T,V> createReference(T value, V handlerReferenceQueue queue) {
            return new SoftRef(valuehandlerqueue);
        }
    },
    WEAK {
        @Override
        protected <T,V extends FinalizableReference<T,V> createReference(T value, V handlerReferenceQueue queue) {
            return new WeakRef(valuehandlerqueue);
        }
    },
    PHANTOM {
        @Override
        protected <T,V extends FinalizableReference<T,V> createReference(T value, V handlerReferenceQueue queue) {
            return new PhantomRef(valuehandlerqueue);
        }            
    },
    HARD {
        @Override
        protected <T,V extends FinalizableReference<T,V> createReference(T value, V handlerReferenceQueue queue) {
            return new HardRef(valuehandlerqueue);
        }
    };
    protected abstract <T,V extends FinalizableReference<T,V> createReference(T value, V handlerReferenceQueue queue);
    
    private static class SoftRef<TT,V  extends Finalizableextends SoftReference<TT> implements Reference<TT,V> {
        private final V handler;
        public SoftRef(TT referent, V handlerReferenceQueue<? super TT> q) {
            super(referentq);
            this. = handler;
        }
        public V getHandler() {
            return ;
        }        
    }
    
    private static class WeakRef<TT,V  extends Finalizableextends WeakReference<TT> implements Reference<TT,V> {
        private final V handler;
        public WeakRef(TT referent, V handlerReferenceQueue<? super TT> q) {
            super(referentq);
            this. = handler;
        }
        public V getHandler() {
            return ;
        }            
    }
    
    private static class PhantomRef<TT,V  extends Finalizableextends PhantomReference<TT> implements Reference<TT,V> {
        private final V handler;
        public PhantomRef(TT referent, V handlerReferenceQueue<? super TT> q) {
            super(referentq);
            this. = handler;
        }
        public V getHandler() {
            return ;
        }            
    }
    
    private static class HardRef<TT,V extends Finalizableimplements Reference<TT,V> {
        private TT ref;
        private final V handler;
        public HardRef(TT referent, V handlerReferenceQueue<? super TT> q) {
            this. = referent;
            this. = handler;
        }
        public V getHandler() {
            return ;
        }
        public TT get() {
            return ;
        }
        public void clear() {
             = null;
        }        
    }
    
New to GrepCode? Check out our FAQ X