in src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledRenderUnitCapabilityImpl.java [200:225]
public static BundledRenderUnitCapability fromBundleCapability(@NotNull BundleCapability capability) {
Map<String, Object> attributes = capability.getAttributes();
Set<ResourceType> resourceTypes = new LinkedHashSet<>();
String[] capabilityResourceTypes = Converters.standardConverter()
.convert(attributes.get(ServletResolverConstants.SLING_SERVLET_RESOURCE_TYPES))
.to(String[].class);
Version version = (Version) attributes.get(BundledScriptTracker.AT_VERSION);
for (String rt : capabilityResourceTypes) {
if (version == null) {
resourceTypes.add(ResourceType.parseResourceType(rt));
} else {
resourceTypes.add(ResourceType.parseResourceType(rt + "/" + version));
}
}
return new BundledRenderUnitCapabilityImpl(
resourceTypes,
(String) attributes.get(ServletResolverConstants.SLING_SERVLET_PATHS),
Converters.standardConverter()
.convert(attributes.get(ServletResolverConstants.SLING_SERVLET_SELECTORS))
.to(new TypeReference<List<String>>() {}),
(String) attributes.get(ServletResolverConstants.SLING_SERVLET_EXTENSIONS),
(String) attributes.get(ServletResolverConstants.SLING_SERVLET_METHODS),
(String) attributes.get(BundledScriptTracker.AT_EXTENDS),
(String) attributes.get(BundledScriptTracker.AT_SCRIPT_ENGINE),
(String) attributes.get(BundledScriptTracker.AT_SCRIPT_EXTENSION));
}