Class TemplateProcessor
java.lang.Object
org.craftercms.core.processors.impl.template.TemplateProcessor
- All Implemented Interfaces:
ItemProcessor
ItemProcessor that processes the content of certain XML nodes in item descriptors as templates. Template
engines that can be used are adapted through the TemplateCompiler interface. Current implementations of this
interface include an adapter for FreeMarker templates and another one for SpEL (Spring Expression Language)
templates.- Author:
- Sumer Jabri, Alfonso Vásquez
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected NodeTemplateModelFactoryFactory that provides the models for the templates.protected TemplateCompiler<IdentifiableStringTemplateSource>Template compiler.protected NodeScannerNodeScannerfor template nodes. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns true if the specifiedTemplateProcessor's and this instance's fields are equal.inthashCode()Returns the hash code for this instance, which is basically the combination of the hash code of each field.process(Context context, CachingOptions cachingOptions, Item item) Processes the content of certain nodes (found by theNodeScannerin the item's descriptor as templates, by compiling the node text templates through thetemplateCompilerand then processing the compiled template with a model returned bymodelFactory.voidsetModelFactory(NodeTemplateModelFactory modelFactory) Sets the factory that provides the models for the templates.voidsetTemplateCompiler(TemplateCompiler<IdentifiableStringTemplateSource> templateCompiler) Sets the template compiler.voidsetTemplateNodeScanner(NodeScanner templateNodeScanner) Sets theNodeScannerfor template nodes.toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.craftercms.core.processors.ItemProcessor
isExclusive
-
Field Details
-
templateNodeScanner
NodeScannerfor template nodes. -
templateCompiler
Template compiler. It basically compiles the template provided in an element and then processes it by using a model obtained through themodelFactory. -
modelFactory
Factory that provides the models for the templates.
-
-
Constructor Details
-
TemplateProcessor
public TemplateProcessor()
-
-
Method Details
-
setTemplateNodeScanner
Sets theNodeScannerfor template nodes. -
setTemplateCompiler
public void setTemplateCompiler(TemplateCompiler<IdentifiableStringTemplateSource> templateCompiler) Sets the template compiler. It basically compiles the template provided in an element and then processes it by using a model obtained through themodelFactory. -
setModelFactory
Sets the factory that provides the models for the templates. -
process
public Item process(Context context, CachingOptions cachingOptions, Item item) throws ItemProcessingException Processes the content of certain nodes (found by theNodeScannerin the item's descriptor as templates, by compiling the node text templates through thetemplateCompilerand then processing the compiled template with a model returned bymodelFactory.- Specified by:
processin interfaceItemProcessor- Parameters:
context- the current contextcachingOptions- caching options in case you need access to itemsitem- the item to process- Returns:
- the modified item or a new item.
- Throws:
ItemProcessingException- if an error occurred while processing a template
-
equals
Returns true if the specifiedTemplateProcessor's and this instance's fields are equal. -
hashCode
public int hashCode()Returns the hash code for this instance, which is basically the combination of the hash code of each field. As with any otherItemProcessor, this method is defined because any processor which is passed in the method call of aContentStoreServicecan be used as part of a key for caching. -
toString
-