Package com.composum.sling.core
Class BeanContext.Wrapper
- java.lang.Object
-
- com.composum.sling.core.BeanContext.Wrapper
-
- All Implemented Interfaces:
BeanContext
,org.apache.sling.api.adapter.Adaptable
- Enclosing interface:
- BeanContext
public static class BeanContext.Wrapper extends Object implements BeanContext
a wrapper implementation base
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.composum.sling.core.BeanContext
BeanContext.AbstractContext, BeanContext.AbstractScriptContext, BeanContext.Map, BeanContext.Page, BeanContext.Scope, BeanContext.Service, BeanContext.Servlet, BeanContext.Wrapper
-
-
Field Summary
Fields Modifier and Type Field Description protected BeanContext
beanContext
protected org.apache.sling.api.resource.ResourceResolver
resolver
protected org.apache.sling.api.resource.Resource
resource
-
Fields inherited from interface com.composum.sling.core.BeanContext
ATTR_LOCALE, ATTR_REQUEST, ATTR_RESOLVER, ATTR_RESOURCE, ATTR_RESPONSE
-
-
Constructor Summary
Constructors Constructor Description Wrapper(BeanContext beanContext)
Wrapper(BeanContext beanContext, org.apache.sling.api.resource.Resource resourceToUse)
Wrapper(BeanContext beanContext, org.apache.sling.api.resource.ResourceResolver resolverToUse)
Wrapper(BeanContext beanContext, org.apache.sling.api.resource.ResourceResolver resolverToUse, org.apache.sling.api.resource.Resource resourceToUse)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <AdapterType>
AdapterTypeadaptTo(@NotNull Class<AdapterType> type)
Adapts to the componentsResource
,ResourceResolver
,SlingHttpServletRequest
,SlingHttpServletResponse
,Locale
,BeanContext
itself, aValueMap
for the request,SlingBean
s or possibly more if defined in Sling.<T> T
getAttribute(String name, Class<T> T)
Returns an attribute value from the context.Locale
getLocale()
Returns the locale declared determined using the context, determined and cached asBeanContext.getAttribute(String, Class)
(BeanContext.ATTR_LOCALE
).org.apache.sling.api.SlingHttpServletRequest
getRequest()
Returns the request declared in the context.org.apache.sling.api.resource.ResourceResolver
getResolver()
Returns the resolver declared in the context.org.apache.sling.api.resource.Resource
getResource()
Returns the resource declared in the context.org.apache.sling.api.SlingHttpServletResponse
getResponse()
Returns the response declared in the context.<T> T
getService(Class<T> type)
retrieves a service implementation using the 'sling' script helper<T> T[]
getServices(Class<T> serviceType, String filter)
retrieves a set of services appropriate to the filterClass<?>
getType(String className)
retrieves a class using the Slings DynamicClassLoaderManager implementationvoid
setAttribute(String name, Object value, BeanContext.Scope scope)
Stores an attribute in the context in th given scope.BeanContext
withLocale(Locale locale)
Returns a clone of this context with the locale overridden, orthis
if it already had this locale.BeanContext
withResource(org.apache.sling.api.resource.Resource resource)
Returns a clone of this context with the resource overridden, orthis
if it already had this resource.
-
-
-
Field Detail
-
beanContext
protected BeanContext beanContext
-
resolver
protected final org.apache.sling.api.resource.ResourceResolver resolver
-
resource
protected final org.apache.sling.api.resource.Resource resource
-
-
Constructor Detail
-
Wrapper
public Wrapper(BeanContext beanContext)
-
Wrapper
public Wrapper(BeanContext beanContext, org.apache.sling.api.resource.ResourceResolver resolverToUse)
-
Wrapper
public Wrapper(BeanContext beanContext, org.apache.sling.api.resource.Resource resourceToUse)
-
Wrapper
public Wrapper(BeanContext beanContext, org.apache.sling.api.resource.ResourceResolver resolverToUse, org.apache.sling.api.resource.Resource resourceToUse)
-
-
Method Detail
-
getResource
public org.apache.sling.api.resource.Resource getResource()
Description copied from interface:BeanContext
Returns the resource declared in the context.- Specified by:
getResource
in interfaceBeanContext
-
getResolver
public org.apache.sling.api.resource.ResourceResolver getResolver()
Description copied from interface:BeanContext
Returns the resolver declared in the context.- Specified by:
getResolver
in interfaceBeanContext
-
getRequest
public org.apache.sling.api.SlingHttpServletRequest getRequest()
Description copied from interface:BeanContext
Returns the request declared in the context.- Specified by:
getRequest
in interfaceBeanContext
-
getResponse
public org.apache.sling.api.SlingHttpServletResponse getResponse()
Description copied from interface:BeanContext
Returns the response declared in the context.- Specified by:
getResponse
in interfaceBeanContext
-
getLocale
public Locale getLocale()
Description copied from interface:BeanContext
Returns the locale declared determined using the context, determined and cached asBeanContext.getAttribute(String, Class)
(BeanContext.ATTR_LOCALE
).- Specified by:
getLocale
in interfaceBeanContext
-
getAttribute
public <T> T getAttribute(String name, Class<T> T)
Description copied from interface:BeanContext
Returns an attribute value from the context.- Specified by:
getAttribute
in interfaceBeanContext
-
setAttribute
public void setAttribute(String name, Object value, BeanContext.Scope scope)
Description copied from interface:BeanContext
Stores an attribute in the context in th given scope.- Specified by:
setAttribute
in interfaceBeanContext
-
getService
public <T> T getService(Class<T> type)
Description copied from interface:BeanContext
retrieves a service implementation using the 'sling' script helper- Specified by:
getService
in interfaceBeanContext
-
getServices
public <T> T[] getServices(Class<T> serviceType, String filter) throws org.osgi.framework.InvalidSyntaxException
Description copied from interface:BeanContext
retrieves a set of services appropriate to the filter- Specified by:
getServices
in interfaceBeanContext
- Throws:
org.osgi.framework.InvalidSyntaxException
-
getType
public Class<?> getType(String className) throws ClassNotFoundException
Description copied from interface:BeanContext
retrieves a class using the Slings DynamicClassLoaderManager implementation- Specified by:
getType
in interfaceBeanContext
- Throws:
ClassNotFoundException
-
adaptTo
public <AdapterType> AdapterType adaptTo(@NotNull @NotNull Class<AdapterType> type)
Description copied from interface:BeanContext
Adapts to the components
Resource
,ResourceResolver
,SlingHttpServletRequest
,SlingHttpServletResponse
,Locale
,BeanContext
itself, aValueMap
for the request,SlingBean
s or possibly more if defined in Sling.In case of
SlingBean
we try the basic sling mechanism (possibly calling Sling-Models) and, failing that, try to instantiate andSlingBean.initialize(BeanContext)
it ourselves, if it is instantiable and the Sling-Models @Model annotation is not present.Cached - multiple calls will always return the same object, except for
ValueMap
andSlingBean
s.- Specified by:
adaptTo
in interfaceorg.apache.sling.api.adapter.Adaptable
- Specified by:
adaptTo
in interfaceBeanContext
- Parameters:
type
- not null, the type to be adapted to- Returns:
- the component of type or whatever Sling has adapters for, or null if there is nothing.
- See Also:
SlingAdaptable.adaptTo(Class)
-
withResource
public BeanContext withResource(org.apache.sling.api.resource.Resource resource)
Description copied from interface:BeanContext
Returns a clone of this context with the resource overridden, orthis
if it already had this resource. All other internal structures of this will be referenced by the copy, too.- Specified by:
withResource
in interfaceBeanContext
- Parameters:
resource
- the resource- Returns:
- a context with the
BeanContext.getResource()
resource
, everything else (except possibly resolver) unchanged. Might bethis
.
-
withLocale
public BeanContext withLocale(Locale locale)
Description copied from interface:BeanContext
Returns a clone of this context with the locale overridden, orthis
if it already had this locale. All other internal structures of this will be referenced by the copy, too.- Specified by:
withLocale
in interfaceBeanContext
- Parameters:
locale
- the locale; if this is nullBeanContext.getLocale()
will take this from the attributes.- Returns:
- a context with this locale, otherwise sharing everything else. Might be
this
.
-
-