All Classes and Interfaces
Class
Description
AbstractFileBasedContentStoreAdapter
to provide extra caching for File
s.Abstract
Macro
that provides a macro name attribute to hold the macro name (when the macro's name
is variable) and the ability to skip the macro if the name is not contained in the specified string.Created by alfonsovasquez on 21/8/15.
TargetedUrlStrategy
base class, that provides basic implementations of AbstractTargetedUrlStrategy.parseTargetedUrl(String)
and AbstractTargetedUrlStrategy.buildTargetedUrl(String, String, String)
.TargetIdManager
base class, that provides basic implementations of AbstractTargetIdManager.getFallbackTargetId()
and
AbstractTargetIdManager.getAvailableTargetIds()
.Base implementation of
SiteItem
that handles all XML related operationsIf the url corresponds to a folder (no extension), it adds index.xml.
Like
AllHttpScopesHashModel
, but also lookup keys in the Application Context.Bean post processor used to customize some of the beans defined by the Spring tag <mvc:annotation-driven/>,
which can't be overwritten.
Bean that provide simple access to the Spring application context's beans: first it uses the site's own context.
Utility methods for handling Spring bean definition.
Deprecated.
Deprecated.
Please use instead
NavBreadcrumbBuilder
.Event published when a site's cache clear has completed.
ScriptUrlTemplateScanner
decorator that caches the result of an actual scan, and also pre-caches
the URL templates on site context creation.Utility methods of cache related operations.
ContentStoreAdapterDecorator
that is aware of cache warming and uses the preloaded folders to check
if items exist before even going to the actual content store adapter, enhancing thus performance.Resolves all the candidate targeted URLs that should be used for a specified target URL when attempting
content resolution.
Default implementation of
CandidateTargetedUrlsResolverImpl
, that works by first extracting the root folder
URL of the targeted URL, then calling TargetedUrlStrategy.parseTargetedUrl(String)
with the relative URL,
and finally build the candidate targeted URLs based on the candidate target IDs returned by
CandidateTargetIdsResolver.getTargetIds(String, String)
.Resolves the target IDs to use to build the candidate targeted URLs.
Default implementation of
CandidateTargetIdsResolver
, which generates the candidate target IDs by splitting
the original target ID and appending the components again but excluding the last one on each iteration.Implementation of
LocaleResolver
that uses a chain of other LocaleResolver
s.Implementation of
GraphQLFieldFactory
that handles checkbox fieldsImplementation of
GraphQLFieldFactory
that handles checkbox-group fieldsExtension of
org.springframework.security.web.header.HeaderWriterFilter
that only executes itself if the
enabled
flag is set to true
Implementation of
AccessDeniedHandler
that uses site config for propertiesSpecial
AccessTokenIdResolver
used in multi-tenant engine that returns the access token ID from the site
configuration, throwing an ConfigurationException
if not found.Extension of
SimpleUrlAuthenticationFailureHandler
that uses site config to override propertiesExtension of
SavedRequestAwareAuthenticationSuccessHandler
that uses site config to override propertiesConnectionFactoryLocator
that resolves
ConnectionFactory
s according to the current site.CookieLocaleResolver
extension that uses the default locale specified in the site configuration if
the user has not current locale associated.Extension of
ShallowEtagHeaderFilter
that supports custom configurationsBase implementation for
LocaleResolver
by the ChainLocaleResolver
.Extension of
LoginUrlAuthenticationEntryPoint
that uses site config to override propertiesExtension of
SimpleUrlLogoutSuccessHandler
that uses site config to override propertiesExtension of
AbstractPreAuthenticatedProcessingFilter
that uses site config to enable processing:
If alwaysEnabled
is true
the filter will be executed, even if there is no site
configuration available
If the site configuration contains the enabledConfigKey
with a value of true
the filter
will be executed
Additionally, if the existing principal is an instance of any class other than supportedPrincipalClass
the
filter will not be executedExtension of
ProxyServlet
that uses the current site configurationImplementation of
FilterInvocationSecurityMetadataSource
that uses site config.Controller to expose general configurations
Thrown when an error occurs while trying to read a site's configuration.
Parses a configuration to create an object as result.
ConfigurationProfileLoaderImpl<T extends org.craftercms.commons.config.profiles.ConfigurationProfile>
Implementation of
ConfigurationProfile
that loads profiles from a specific file in the current site.Implementation of
ConfigurationProvider
ScriptJobResolver
that resolves job based on configuration mappings, like the following:Configuration related utility methods.
Handler for
ConstraintViolationException
exceptionsFilter to cache the body of POST form requests to be used by the
ConfigAwareProxyServlet
Represents a decorator to a
ContentStoreAdapter
.Spring
FactoryBean
that is used to wrap a ContentStoreAdapter
with decorators.ContextCacheWarmer
that performs warm up of a list of descriptor and content folders at the
ContentStoreAdapter
level.Implementation of
ContentStoreGroovyResourceLoader
that uses Crafter
Core's content store to load Groovy resources.A
Resource
for a Crafter content store Content
.Implementation of
ResourceConnector
for retrieving URLConnection
to
content in a Crafter content store.ResourceLoader
that resolves paths a Crafter content store resource.ContextCacheWarmer
that performs warm up at the ContentStoreService
level by preloading a
list of folder trees.Implementation of
URLConnection
that wraps a Content
.URLStreamHandler
for handling URLConnection
s to the Crafter content store.Utility methods for a Crafter content store.
Implementation of
DataFetcher
that queries OpenSearch to retrieve content based on a content type.Helper class that's used to warm up the cache of a context.
Implementation of
DataFetcher
to converts the result to Map
.Implementation of
ConfigAwareLocaleResolver
that reads the locale from a cookie.Represents a macro that can be a cookie value.
SiteResolver
that resolves the current site name from a cookie or
request param.Extension of Freemarker's
Configuration
that caches the result of getTemplate()
in Crafter's own
cache, which handles key-based smart locking so that the same template is not compiled several times by concurrent
threads.ViewResolver
decorator that caches views on Crafter's own cache per site.Extends
FreeMarkerConfigurer
to:
Macro-resolve the template loader paths before a template loader is created for the path
Freemarker
TemplateLoader
similar to SpringTemplateLoader
but instead of using
Spring Resources, it uses the ContentStoreService.getContent(Context, String)
.Extends
FreeMarkerView
to add RenderComponentDirective
s to support page component rendering in
Freemarker templates and provide the Spring application context as part of the Freemarker model.View resolver tha resolves to
CrafterFreeMarkerView
s.Extends
DefaultObjectWrapper
to wrap Dom4j Node
s.Manages access to Crafter pages, depending on the roles specified in the page and the current user's roles.
ViewResolver
that resolves to CrafterPageView
s.TemplateExceptionHandler
that instead of printing the errors directly in the HTML and stopping template processing, stores
them in a model variable so they can be displayed later.Extension of
User
that includes custom attributes for site personalizationContext
wrapper used by ContentStoreAdapterDecorator
.Extension of
WebAuthenticationDetailsSource
that always returns instances of
PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails
Default
ExceptionHandler
, which logs all exceptions and sends a HTTP 500 status.Extension of
PreAuthenticatedGrantedAuthoritiesUserDetailsService
that always returns the same principal
obtained from the authentication filterImplementation of
SecurityFilterChain
that handles excluded urlsBasic adapter to a
Item
, enhanced with methods that can be easily invoked in template engines like Freemarker.SiteResolver
that resolves always the current site name to a default
site name.Implementation of
LocaleResolver
that delegates the actual work to the ChainLocaleResolver
if
available or to a default object.Utility class that runs on a cron job (configurable) and checks every site to see if they have a deployment
events file (by default
deployment-events.properties
, which should contain timestamps sent by the
Deployer indicating requests for clearing the site cache and/or rebuilding the context.Predicate used to check if an item is disabled.
Groovy extension module for Dom4j
Freemarker template model for Dom4j
Node
s.Implementation of
SiteItem
for embedded site itemsImplementation of
EntitlementUsageProvider
for Crafter Engine module.Controller used to render status code errors like 404, 500, etc.
Handles exceptions thrown during the HTTP request handling.
Top level filter used for handling uncaught and unhandled exceptions within the code.
ItemFilter
that rejects an item if its name matches any one of a list of regexes.Freemarker directive that allows to execute scripts/controllers from inside Freemarker templates.
Accepts the item if the result of an node value XPath query matches an expected value regex.
Predicate used to check if an item is expired.
Parses a configuration for the properties of a
FacebookConnectionFactory
.String
FactoryBean
implementation to provide
a convenience way to fallback in a list of properties until one of them is not empty/null.Created by alfonsovasquez on 14/10/16.
Folder based
ScriptJobResolver
, which resolves all scripts under a certain folder, and creates a trigger
to run them using a specific cron expression.Default implementation of
SiteListResolver
.ItemProcessor
that modifies the a folder item to include the descriptor DOM of it's index file.Simple filter that throws an
AccessDeniedException
if the request matches the given RequestMatcher
.Thrown when an error occurs while building a GraphQL schema.
Event published when a site's GraphQL schema build has completed.
Creates a
GraphQLSchema
and returns a GraphQL
instance for a specific site.Default implementation of
GraphQLFactory
that creates a GraphQLSchema
from the content-type
definitions found in the site repositoryCreates all the required objects to represent a content-type field in a
GraphQLObjectType
Creates all the required objects to represent a content-type in a
GraphQLObjectType
Implementation of
ConfigAwareLocaleResolver
that executes a Groovy script to resolve the localeRuns a script through the
GroovyScriptEngine
.ScriptFactory
used specifically for Groovy.Utility methods for Groovy scripts.
Implementation of
ConfigAwareLocaleResolver
that reads the locale from a request header.SiteResolver
that resolves the current site name from a custom HTTP
header.Servlet filter that add headers to response if there are matched configuration patterns in site-config.xml
Used by
ConfigAwareProxyServlet
.Implementation of
Filter
that delegates requests to a proxyJust like
HttpRequestHashModel
, but besides returning request attributes, it also
returns values for the following properties of the request:
scheme
serverName
serverPort
contextPath
servletPath
requestURI
queryString
Interface to be implemented by exceptions that want to expose an HTTP status code to the response.
Handler for
HttpStatusCodeException
s.Exception thrown to cause specific HTTP status code errors
ItemFilter
that rejects an item if its name doesn't match any one of a list of regexes.Implementation of
GraphQLFieldFactory
that handles input fieldsContains the details for scheduling a Quartz job.
Implementation of
ItemFilter
that checks if a given Item
is compatible with the configured localesImplementation of
ItemProcessor
that looks for a localized version of an Item
Implementation of
TargetIdManager
that treats the Locale
as a
target ID.Extension of
LocaleUtils
that automatically uses the current locale & fallback
according to the site configurationRepresents a specific macro, and resolves any appearance of the macro in a string.
Resolves the macros in the given string.
Default implementation of
MacroResolver
.Factory bean to create a
MappingJackson2HttpMessageConverter
bean with customized ObjectMapper
,
and enabled JsonParser.Feature.STRICT_DUPLICATE_DETECTIONRest controller to provide monitoring information & site logs
Facilitates the creation of navigation breadcrumbs (e.g.
Default implementation of
NavBreadcrumbBuilderImpl
.Represents a navigation item with label, rendering URL, a flag that indicates that it's an active item (is part of the current
request) and sub navigation items when applicable.
Creates navigation trees that facilitate the rendering of navigation.
Default implementation of
NavTreeBuilderImpl
.Implementation of
GraphQLFieldFactory
that handles node-selector fieldsRequestMatcher that matches if any of the given ant patterns matches.
Compares two
SiteItem
s through the "orderDefault_f" model value.Default controller for rendering Crafter pages.
Defines operations related to plugin execution
Default implementation for
PluginService
An implementation of Crafter's
ItemFilter
that uses a predicate.Represents a folder in the content store that has been preloaded in the cache.
Implementation of
ConfigAwareLocaleResolver
that extracts the locale from the current authenticated userImplementation of
AbstractUserDetailsAuthenticationProvider
that handles form login for with ProfileImplementation of
LogoutHandler
for ProfileImplementation of
AbstractRememberMeServices
for ProfileREST controller for integration with Crafter Profile.
Implementation of
UserDetailsService
that uses ProfileService
TargetedUrlStrategy
that proxies to the strategy defined in the site application context, or if not
defined, to the default one in the general application context.ProxyTargetIdManager
that proxies to the manager defined in the site application context, or if not
defined, to the default one in the general application context.Extension of
ResourceRegionHttpMessageConverter
that checks if the resource implement
RangeAwareResource
.Simple
ItemFilter
that checks the accepted items list to check if the same item is not already there (some processors can
generate the same item twice for different URLs).ItemFilter
that rejects all indexes, including targeted ones (e.g index_en.xml, index_es_CR.xml).SiteResolver
that resolves the current site name from a mapping
of the request domain name to site name.Request handler to render static assets that are stored externally from the content store, in remote
file stores.
Created by alfonsovasquez on 7/9/16.
Custom directive to render a component by processing the template defined in the component element's template name
sub-element.
Throw when an error related to rendering occurs.
Implementation of
GraphQLFieldFactory
that handles repeating-group fieldsBase implementation for
DataFetcher
that set's the current RequestContext
before actually
resolving the requested fields.Represents a macro that can be a request parameter.
Represents a {request.uri} macro, which resolves to the current request uri.
SiteResolver
that resolves the current site name from an extract of
the request URI.Controller for REST script requests.
Implementation of
GraphQLFieldFactory
that handles RTE fields.Utility class to build the AWS S3 client instances.
Represents the content of an S3 object.
Implementation of
ContentStoreAdapter
to read files from AWS S3.Implementation of
Context
for AWS S3.Implementations of
File
for AWS S3 items.Implementation of
File
for AWS S3 prefixes (used as folders).Implementation of
SiteListResolver
for AWS S3.Thrown when a scheduling related error occurs.
Utility methods for scheduling.
Utility class used from Groovy to hold custom fields, fetchers & resolvers
Utility objects & methods for building the GraphQL Schema
Represents a macro that can be an attribute from the servlet context, session or request scope.
Simple interface for scripts in some non-Java language (Groovy, Jython, Javascript, etc) that can be retrieved from
the Crafter content store and executed inside the JVM.
Thrown when script related errors occur.
Returns a
Script
for a given url.Servlet filter that passes the request through a series of scripts that act as filters too.
FilterChain
implementation that executes a chain of scripts, before delegating to the actual servlet
filter chain.Implementation of a Quartz Job that executes a script.
Resolves any number of script jobs to be scheduled and executed.
Thrown when a script can't be found
Scans the site context for scripts that have URL variables, for example, /scripts/rest/user/{username}.get.json.
Default implementation of
ScriptUrlTemplateScanner
, which retrieves all the Groovy scripts at the
specified scriptsFolder
path, and then looks for those that have the URL variable placeholder in them.Wrapper for
ProviderLoginSupportImpl
that integrates the authenticated profile with Spring SecurityA simple class that adds a bunch of attributes passed as a property to the current servlet context.
Template model for the
ServletContext
Implementation of
CorsConfigurationSource
that uses the current site configurationImplementation of
AbstractOpenSearchClientWrapper
that sets the index and security filters based on the
current site context for all search requests.Implementation of
OpenSearchWrapper
that sets the index based on the current site context for all search requests.Implementation of
PublishingTargetResolver
that uses the current SiteContext
Utility class that wraps a
Runnable
object to support SiteContext
in reusable threadsExtension of
TemplateLookupStrategy
that looks for locale specific templatesUtility class that wraps a
Executor
object to support SiteContext
in reusable threadsREST controller for operations related to a site's cache.
Helper class that's used to warm up the cache of a site context.
Default implementation for
SiteCacheWarmerImpl
.REST controller to retrieve content from the site (items and trees).
Wrapper for a
Context
that adds properties specific to Crafter Engine.Event published when a new
SiteContext
has been created.Thrown if an error prevents from creating a site context.
Event published when a
SiteContext
has been destroyed.Factory for creating
SiteContext
with common properties.Implementation of
TemplateHashModelEx
to safely expose the SiteContext
instance in templatesThrow when the
SiteContext
fails to initialize.Event published when a new
SiteContext
has been initialized.Registry and lifecycle manager of
SiteContext
s.Resolves the
SiteContext
to be used for the specified request.Default
SiteContextResolver
.Filter that uses a
SiteContextResolver
to resolve the context for
the current request.REST controller for operations related for the
SiteContext
Class that is used to create all contexts after Spring startup (if the
createContextsOnStartup
is true).Application event triggered when all site contexts have been created in startup.
Handler interceptor that will set the site cookie whenever the cookie is missing or the current site is different
that the cookie value.
Application event that is related to a site.
Exposes the current site
GraphQL
instance to perform queries.Defines the basic behavior for a site item
Resolves the scripts URLs for a site item (page or component)
Default implementation of
SiteItemScriptResolver
.Service for accessing
SiteItem
s of the current site.Default implementation of
SiteItemService
.Resolves the entire list of sites.
REST controller for operations related to site mappings.
TenantsResolver
that uses the current site name as tenant.REST controller to access site navigation services.
Properties specific of the current site.
Resolves the site for a given request
SiteResolver
that goes through a chain of resolvers until one of
them returns a non-empty site.Rest controller to access scheduled jobs for the current site.
REST controller to expose the Search service
REST controller to access the URL transformation service.
Request handler to render static assets using the
ContentStoreService
as source.SiteResolver
that resolves the current site name from a set of
static mappings, where the mapping key is a domain name, and the value is the site name.Global properties of the Engine instance, in other words, properties that are common to all sites.
DescriptorMergeStrategy
used for merging descriptors of a targeted content hierarchy.ContentStoreAdapterDecorator
that uses a CandidateTargetedUrlsResolver
to generate candidate
URLs for targeted content lookup.TargetedUrlStrategy
implementation that recognizes the target ID in
the file name (e.g.TargetedUrlStrategy
implementation that recognizes the target ID in
the first folder of the URL name (e.g.The components of a targeted URL.
The strategy to handle the targeted URLs for the site.
Contains methods for resolving specific target IDs.
Implementation of
Authentication
used for standalone authentication.Extension of
PreAuthenticatedAuthenticationProvider
for Studio targetingImplementation of
ConfigAwarePreAuthenticationFilter
for Studio targetingExtension of
ProfileUser
used for Studio targetingUtility methods for content targeting.
Log4j filter that decides to log an entry based on whether an MDC key exists or not.
Implementation of
GraphQLFieldFactory
that handles time-only fieldsItemProcessor
that converts the item to the current targeted item (e.g.Transforms the URL into a targeted URL (if it's not a targeted URL yet).
Implementation of
ConfigAwareLocaleResolver
that compares the requested URL to a map of localesCrafter's implementation of Tuckey's
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
.Transforms a URL, based on the current site's
UrlTransformationEngine
.Default implementation of
UrlTransformationService
.Implementation of
DataFetcher
that transforms a field using a UrlTransformationService
Handles
ServletException
s that are thrown when a view can't be resolved.Represents a {webapp.context.path} macro, which resolves to the web application context path.
Represents a {webapp.path} macro, which resolves to the web app exploded dir path of the current web app.
NavBreadcrumbBuilder
.