@Override public boolean isRegistered(Class<?> componentClass) { return getClassContracts().containsKey(componentClass); }
private Map<Class<?>, Map<Class<?>, Integer>> getClassContracts() { if (classContracts != null) return classContracts; Map<Class<?>, Map<Class<?>, Integer>> map = new ConcurrentHashMap<Class<?>, Map<Class<?>, Integer>>(); if (parent != null) { for (Map.Entry<Class<?>, Map<Class<?>, Integer>> entry : parent.getClassContracts().entrySet()) { Map<Class<?>, Integer> mapEntry = new HashMap<Class<?>, Integer>(); mapEntry.putAll(entry.getValue()); map.put(entry.getKey(), mapEntry); } } classContracts = map; return classContracts; }
public void registerProvider(Class provider, Integer priorityOverride, boolean isBuiltin, Map<Class<?>, Integer> contracts) { Map<Class<?>, Map<Class<?>, Integer>> classContracts = getClassContracts(); if (classContracts.containsKey(provider)) { LogMessages.LOGGER.providerClassAlreadyRegistered(provider.getName()); return; } Map<Class<?>, Integer> newContracts = new HashMap<Class<?>, Integer>(); processProviderContracts(provider, priorityOverride, isBuiltin, contracts, newContracts); providerClasses.add(provider); classContracts.put(provider, newContracts); }
public void registerProviderInstance(Object provider, Map<Class<?>, Integer> contracts, Integer priorityOverride, boolean builtIn) { Class<?> providerClass = provider.getClass(); Map<Class<?>, Map<Class<?>, Integer>> classContracts = getClassContracts(); if (classContracts.containsKey(providerClass)) { LogMessages.LOGGER.providerInstanceAlreadyRegistered(providerClass.getName()); return; } Map<Class<?>, Integer> newContracts = new HashMap<Class<?>, Integer>(); processProviderInstanceContracts(provider, contracts, priorityOverride, builtIn, newContracts); providerInstances.add(provider); classContracts.put(providerClass, newContracts); }
providerClasses = parent == null ? new CopyOnWriteArraySet<>() : new CopyOnWriteArraySet<>(parent.getProviderClasses()); providerInstances = parent == null ? new CopyOnWriteArraySet<>() : new CopyOnWriteArraySet<>(parent.getProviderInstances()); classContracts = parent == null ? new ConcurrentHashMap<>() : new ConcurrentHashMap<>(parent.getClassContracts()); serverMessageBodyReaders = parent == null ? new MediaTypeMap<>() : parent.getServerMessageBodyReaders().clone(); serverMessageBodyWriters = parent == null ? new MediaTypeMap<>() : parent.getServerMessageBodyWriters().clone();
@Override public boolean isRegistered(Class<?> componentClass) { return getClassContracts().containsKey(componentClass); }
private Map<Class<?>, Map<Class<?>, Integer>> getClassContracts() { if (classContracts != null) return classContracts; Map<Class<?>, Map<Class<?>, Integer>> map = new ConcurrentHashMap<Class<?>, Map<Class<?>, Integer>>(); if (parent != null) { for (Map.Entry<Class<?>, Map<Class<?>, Integer>> entry : parent.getClassContracts().entrySet()) { Map<Class<?>, Integer> mapEntry = new HashMap<Class<?>, Integer>(); mapEntry.putAll(entry.getValue()); map.put(entry.getKey(), mapEntry); } } classContracts = map; return classContracts; }
public void registerProviderInstance(Object provider, Map<Class<?>, Integer> contracts, Integer priorityOverride, boolean builtIn) { Class<?> providerClass = provider.getClass(); Map<Class<?>, Map<Class<?>, Integer>> classContracts = getClassContracts(); if (classContracts.containsKey(providerClass)) { LogMessages.LOGGER.providerInstanceAlreadyRegistered(providerClass.getName()); return; } Map<Class<?>, Integer> newContracts = new HashMap<Class<?>, Integer>(); processProviderInstanceContracts(provider, contracts, priorityOverride, builtIn, newContracts); providerInstances.add(provider); classContracts.put(providerClass, newContracts); }
public void registerProvider(Class provider, Integer priorityOverride, boolean isBuiltin, Map<Class<?>, Integer> contracts) { Map<Class<?>, Map<Class<?>, Integer>> classContracts = getClassContracts(); if (classContracts.containsKey(provider)) { LogMessages.LOGGER.providerClassAlreadyRegistered(provider.getName()); return; } Map<Class<?>, Integer> newContracts = new HashMap<Class<?>, Integer>(); processProviderContracts(provider, priorityOverride, isBuiltin, contracts, newContracts); providerClasses.add(provider); classContracts.put(provider, newContracts); }
providerClasses = parent == null ? new CopyOnWriteArraySet<>() : new CopyOnWriteArraySet<>(parent.getProviderClasses()); providerInstances = parent == null ? new CopyOnWriteArraySet<>() : new CopyOnWriteArraySet<>(parent.getProviderInstances()); classContracts = parent == null ? new ConcurrentHashMap<>() : new ConcurrentHashMap<>(parent.getClassContracts()); serverMessageBodyReaders = parent == null ? new MediaTypeMap<>() : parent.getServerMessageBodyReaders().clone(); serverMessageBodyWriters = parent == null ? new MediaTypeMap<>() : parent.getServerMessageBodyWriters().clone();