public void registerModelToResourceType()

in src/main/java/org/apache/sling/models/impl/AdapterImplementations.java [251:277]


     public void registerModelToResourceType(final Bundle bundle, final String resourceType, final Class<?> adaptableType, final Class<?> clazz) {
         if (resourceType.startsWith("/")) {
             log.warn("Registering model class {} for adaptable {} with absolute resourceType {}." ,
                     new Object[] { clazz, adaptableType, resourceType });
         }
         ConcurrentMap<String, Class<?>> map;
         ConcurrentMap<Bundle, List<String>> resourceTypeRemovalLists;
         if (adaptableType == Resource.class) {
             map = resourceTypeMappingsForResources;
             resourceTypeRemovalLists = resourceTypeRemovalListsForResources;
         } else if (adaptableType == SlingHttpServletRequest.class) {
             map = resourceTypeMappingsForRequests;
             resourceTypeRemovalLists = resourceTypeRemovalListsForRequests;
         } else {
             log.warn("Found model class {} with resource type {} for adaptable {}. Unsupported type for resourceType binding.",
                     new Object[] { clazz, resourceType, adaptableType });
             return;
         }
         Class<?> existingMapping = map.putIfAbsent(resourceType, clazz);
         if (existingMapping == null) {
             resourceTypeRemovalLists.putIfAbsent(bundle, new CopyOnWriteArrayList<String>());
             resourceTypeRemovalLists.get(bundle).add(resourceType);
         } else {
             log.warn("Skipped registering {} for resourceType {} under adaptable {} because of existing mapping to {}",
                     new Object[] { clazz, resourceType, adaptableType, existingMapping });
         }
     }