Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright [2013] [www.rapidpm.org / Sven Ruppert (sven.ruppert@rapidpm.org)]
  *
  *    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.rapidpm.data.table;
Die globale Registry verwaltet alle Typ-Registry-Instanzen als Singleton-Objekte.

Author(s):
Alexander Vos
public final class Registry {
    private static final Logger logger = Logger.getLogger(Registry.class);
    // verwaltet alle konkreten Registries als Singleton-Objekte
    private static final Map<Class<? extends AbstractRegistry<?, ?>>, AbstractRegistry<?, ?>> registryMap =
            new HashMap<>();
//    private static final ClassToInstanceMap<AbstractRegistry<?, ?>> registryMap = MutableClassToInstanceMap.create();

    
Gibt die Typ-Registry-Instanz zurück oder legt eine neue an.

Parameters:
registryClass Registry-Klasse.
<A> Annototationstyp.
<T> Rückgabetyp der Registry.
Returns:
Instanz der Registry-Klasse oder null, wenn ein Fehler auftritt.
See also:
get(java.lang.Class,java.lang.Class)
    public static <A extends Annotation, T> AbstractRegistry<A, T> get(final Class<? extends AbstractRegistry<A, T>> registryClass) {
        @SuppressWarnings("unchecked")
        AbstractRegistry<A, T> registry = (AbstractRegistry<A, T>) .get(registryClass); // erfolgreicher Cast ist garantiert!
        if (registry == null) {
            try {
                registry = registryClass.newInstance();
                .put(registryClassregistry);
            } catch (InstantiationException | IllegalAccessException e) {
                .error(e);
            }
        }
        return registry;
    }

    
Hilfsmethode für direkten Zugriff auf eine Klasse innerhalb einer konkreten Registry-Inbstanz.

Parameters:
registryClass Registry-Klasse.
clazz Klasse innerhalb der Registry.
<A> Annototationstyp.
<T> Rückgabetyp der Registry.
Returns:
Instanz der Klasse innerhalb der Registry oder null, wenn ein Fehler auftritt.
See also:
get(java.lang.Class)
    public static <A extends Annotation, T> T get(final Class<? extends AbstractRegistry<A, T>> registryClassfinal Class<?> clazz) {
        final AbstractRegistry<A, T> registry = get(registryClass);
        return registry != null ? registry.getClassFor(clazz) : null;
    }
    private Registry() {
    }
New to GrepCode? Check out our FAQ X