(no commit message)
[utils] / support / cdi / src / main / java / org / wamblee / inject / InjectorCache.java
diff --git a/support/cdi/src/main/java/org/wamblee/inject/InjectorCache.java b/support/cdi/src/main/java/org/wamblee/inject/InjectorCache.java
deleted file mode 100644 (file)
index 24a0f2c..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2005-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.wamblee.inject;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.wamblee.cdi.CdiInjector;
-
-/**
- * Cache of {@link CdiInjector}s for efficiency to avoid duplicate analysis of a
- * given class.
- * 
- * @author Erik Brakkee
- */
-public class InjectorCache {
-
-    private Map<String, Injector> injectors;
-
-    private InjectorFactory injectorFactory;
-
-    /**
-     * Constructs an empty cache.
-     * 
-     * @param aMgr
-     *            Bean manager.
-     */
-    public InjectorCache(InjectorFactory aInjectorFactory) {
-        injectorFactory = aInjectorFactory;
-        injectors = new ConcurrentHashMap<String, Injector>();
-    }
-
-    /**
-     * Gets the injector for a given class. This returns a cached injector or
-     * creates a new injector and caches it.
-     * 
-     * @param aClass
-     *            Class to find injector for.
-     * @return Injector.
-     */
-    public Injector getInjector(Class aClass) {
-        Injector injector = injectors.get(aClass.getName());
-        if (injector == null) {
-            // create and add injector
-            // NOTE: in rare circumstances this will lead to parallel
-            // creation of
-            // an injector for the same class. However, only one of them
-            // will be the final one
-            // in the map. There are no side effects of this duplicate
-            // creation of injectors.
-            injector = injectorFactory.create(aClass);
-            injectors.put(aClass.getName(), injector);
-        }
-        return injector;
-    }
-}