in src/main/java/org/apache/sling/servlets/resolver/internal/ScriptResource.java [107:154]
public <T> T adaptTo(final Class<T> type) {
if (type == javax.servlet.Servlet.class) {
Resource activeResource = this.getActiveResource();
while (activeResource instanceof ResourceWrapper) {
activeResource = ((ResourceWrapper) activeResource).getResource();
}
if (!(activeResource instanceof ServletResource)) {
final javax.servlet.Servlet s = (javax.servlet.Servlet) super.adaptTo(type);
if (s != null) {
return (T) s;
}
final Servlet sj = (Servlet) super.adaptTo(Servlet.class);
if (sj != null) {
return (T) ServletWrapperUtil.toJavaxServlet(sj);
}
}
} else if (type == Servlet.class) {
Resource activeResource = this.getActiveResource();
while (activeResource instanceof ResourceWrapper) {
activeResource = ((ResourceWrapper) activeResource).getResource();
}
if (!(activeResource instanceof ServletResource)) {
final Servlet s = (Servlet) super.adaptTo(type);
if (s != null) {
return (T) s;
}
final javax.servlet.Servlet sx = (javax.servlet.Servlet) super.adaptTo(javax.servlet.Servlet.class);
if (sx != null) {
return (T) ServletWrapperUtil.toJakartaServlet(sx);
}
}
} else if (type == SlingJakartaScript.class) {
final SlingJakartaScript s = (SlingJakartaScript) super.adaptTo(type);
if (s != null) {
return (T) s;
}
final SlingScript legacy = (SlingScript) super.adaptTo(SlingScript.class);
if (legacy != null) {
return (T) new SlingScriptWrapper(legacy);
}
} else if (type == SlingScript.class) {
final SlingScript s = (SlingScript) super.adaptTo(type);
if (s != null) {
return (T) s;
}
}
return this.getActiveResource().adaptTo(type);
}