Class PrecompiledScript
- java.lang.Object
-
- org.apache.sling.scripting.bundle.tracker.internal.PrecompiledScript
-
- All Implemented Interfaces:
BundledRenderUnit
public class PrecompiledScript extends java.lang.Object
-
-
Field Summary
-
Fields inherited from interface org.apache.sling.scripting.bundle.tracker.BundledRenderUnit
VARIABLE
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voideval(@NotNull javax.script.ScriptContext context)Provided aScriptContext, this method will execute / evaluate the wrapped script or precompiled script.@NotNull org.osgi.framework.BundlegetBundle()Returns theBundlein which the script or precompiled script is packaged.@NotNull java.lang.StringgetName()Returns the name ofthis BundledRenderUnit.@NotNull javax.script.ScriptEnginegetScriptEngine()Returns an instance of theScriptEnginethat can execute the wrapped script or precompiled script, if the latter needs a specific runtime.<ServiceType>
ServiceTypegetService(@NotNull java.lang.String className)Retrieves an OSGi runtime dependency of the wrapped script identified by the passedclassNameparameter.<ServiceType>
@Nullable ServiceType[]getServices(@NotNull java.lang.String className, @Nullable java.lang.String filter)Retrieves multiple instances of an OSGi runtime dependency of the wrapped script identified by the passedclassNameparameter, filtered according to the passedfilter.@NotNull java.lang.ObjectgetUnit()In case thisBundledRenderUnitwraps a precompiled script, this method will return an instance of that object.voidreleaseDependencies()
-
-
-
Method Detail
-
getName
@NotNull public @NotNull java.lang.String getName()
Description copied from interface:BundledRenderUnitReturns the name ofthis BundledRenderUnit. This can be the name of the wrapped script or precompiled script.- Returns:
- the name
this BundledRenderUnit
-
getScriptEngine
@NotNull public @NotNull javax.script.ScriptEngine getScriptEngine()
Description copied from interface:BundledRenderUnitReturns an instance of theScriptEnginethat can execute the wrapped script or precompiled script, if the latter needs a specific runtime.- Returns:
- an instance of the script's or precompiled script's associated
ScriptEngine
-
eval
public void eval(@NotNull @NotNull javax.script.ScriptContext context) throws javax.script.ScriptExceptionDescription copied from interface:BundledRenderUnitProvided aScriptContext, this method will execute / evaluate the wrapped script or precompiled script.- Parameters:
context- theScriptContext- Throws:
javax.script.ScriptException- if the execution leads to an error
-
getUnit
@NotNull public @NotNull java.lang.Object getUnit()
Description copied from interface:BundledRenderUnitIn case thisBundledRenderUnitwraps a precompiled script, this method will return an instance of that object.- Returns:
- a precompiled unit, if
thisunit wraps a precompiled script;nullotherwise
-
getBundle
@NotNull public @NotNull org.osgi.framework.Bundle getBundle()
Description copied from interface:BundledRenderUnitReturns theBundlein which the script or precompiled script is packaged. This method can be useful for getting an instance of the bundle's classloader, when needed to load dependencies at run time. To do so the following code example can help:Bundle bundle = bundledRenderUnit.getBundle(); Classloader bundleClassloader = bundle.adapt(BundleWiring.class).getClassLoader();
- Specified by:
getBundlein interfaceBundledRenderUnit
-
getService
@Nullable public <ServiceType> ServiceType getService(@NotNull @NotNull java.lang.String className)Description copied from interface:BundledRenderUnitRetrieves an OSGi runtime dependency of the wrapped script identified by the passedclassNameparameter.- Specified by:
getServicein interfaceBundledRenderUnit- Type Parameters:
ServiceType- the expected service type- Parameters:
className- the fully qualified class name- Returns:
- an instance of the
BundledRenderUnitornull
-
getServices
@Nullable public <ServiceType> @Nullable ServiceType[] getServices(@NotNull @NotNull java.lang.String className, @Nullable @Nullable java.lang.String filter)Description copied from interface:BundledRenderUnitRetrieves multiple instances of an OSGi runtime dependency of the wrapped script identified by the passedclassNameparameter, filtered according to the passedfilter.- Specified by:
getServicesin interfaceBundledRenderUnit- Type Parameters:
ServiceType- the expected service type- Parameters:
className- the fully qualified class namefilter- a filter expression ornullif all the instances should be returned; for more details about thefilter's syntax checkBundleContext.getServiceReferences(String, String)- Returns:
- an instance of the
BundledRenderUnitornull
-
releaseDependencies
public void releaseDependencies()
-
-