Package org.nuxeo.template.service
Class TemplateProcessorComponent
- java.lang.Object
-
- org.nuxeo.runtime.model.DefaultComponent
-
- org.nuxeo.template.service.TemplateProcessorComponent
-
- All Implemented Interfaces:
Adaptable,Component,Extensible,TimestampedService,TemplateProcessorService
public class TemplateProcessorComponent extends DefaultComponent implements TemplateProcessorService
Runtime Component used to handle Extension Points and expose theTemplateProcessorServiceinterface- Author:
- Tiry
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTemplateProcessorComponent.TemplateProcessorInvalidationclassTemplateProcessorComponent.TemplateProcessorInvalidator
-
Field Summary
Fields Modifier and Type Field Description static StringCONTEXT_EXTENSION_XPprotected ContextFactoryRegistrycontextExtensionRegistryprotected TemplateProcessorComponent.TemplateProcessorInvalidatorinvalidatorprotected static org.apache.logging.log4j.Loggerlogstatic StringOUTPUT_FORMAT_EXTENSION_XPprotected OutputFormatRegistryoutputFormatRegistrystatic StringPROCESSOR_XPprotected TemplateProcessorRegistryprocessorRegistryprotected static StringTEMPLATE_PROCESSOR_INVAL_PUBSUB_TOPICprotected Map<String,List<String>>type2Template-
Fields inherited from class org.nuxeo.runtime.model.DefaultComponent
lastModified, name
-
-
Constructor Summary
Constructors Constructor Description TemplateProcessorComponent()
-
Method Summary
-
Methods inherited from class org.nuxeo.runtime.model.DefaultComponent
addRuntimeMessage, addRuntimeMessage, getAdapter, getDescriptor, getDescriptors, getLastModified, getRegistry, register, registerExtension, setLastModified, setModifiedNow, setName, unregister, unregisterExtension
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.nuxeo.runtime.model.Component
applicationStarted, getApplicationStartedOrder
-
-
-
-
Field Detail
-
log
protected static final org.apache.logging.log4j.Logger log
-
PROCESSOR_XP
public static final String PROCESSOR_XP
- See Also:
- Constant Field Values
-
CONTEXT_EXTENSION_XP
public static final String CONTEXT_EXTENSION_XP
- See Also:
- Constant Field Values
-
OUTPUT_FORMAT_EXTENSION_XP
public static final String OUTPUT_FORMAT_EXTENSION_XP
- See Also:
- Constant Field Values
-
TEMPLATE_PROCESSOR_INVAL_PUBSUB_TOPIC
protected static final String TEMPLATE_PROCESSOR_INVAL_PUBSUB_TOPIC
- See Also:
- Constant Field Values
-
contextExtensionRegistry
protected ContextFactoryRegistry contextExtensionRegistry
-
processorRegistry
protected TemplateProcessorRegistry processorRegistry
-
outputFormatRegistry
protected OutputFormatRegistry outputFormatRegistry
-
invalidator
protected TemplateProcessorComponent.TemplateProcessorInvalidator invalidator
-
-
Method Detail
-
activate
public void activate(ComponentContext context)
Description copied from interface:ComponentActivates the component.This method is called by the runtime when a component is activated.
- Specified by:
activatein interfaceComponent- Overrides:
activatein classDefaultComponent- Parameters:
context- the runtime context
-
start
public void start(ComponentContext context)
Description copied from interface:ComponentStart the component. This method is called after all the components were resolved and activated- Specified by:
startin interfaceComponent- Overrides:
startin classDefaultComponent
-
stop
public void stop(ComponentContext context) throws InterruptedException
Description copied from interface:ComponentStop the component.- Specified by:
stopin interfaceComponent- Overrides:
stopin classDefaultComponent- Throws:
InterruptedException
-
deactivate
public void deactivate(ComponentContext context)
Description copied from interface:ComponentDeactivates the component.This method is called by the runtime when a component is deactivated.
- Specified by:
deactivatein interfaceComponent- Overrides:
deactivatein classDefaultComponent- Parameters:
context- the runtime context
-
registerInvalidator
protected void registerInvalidator()
-
unregisterInvalidator
protected void unregisterInvalidator()
-
registerContribution
public void registerContribution(Object contribution, String extensionPoint, ComponentInstance contributor)
- Overrides:
registerContributionin classDefaultComponent
-
unregisterContribution
public void unregisterContribution(Object contribution, String extensionPoint, ComponentInstance contributor)
- Overrides:
unregisterContributionin classDefaultComponent
-
findProcessor
public TemplateProcessor findProcessor(Blob templateBlob)
Description copied from interface:TemplateProcessorServiceFinds theTemplateProcessorfor a givenBlob. The template processor is found based on mime-types.- Specified by:
findProcessorin interfaceTemplateProcessorService- Returns:
- the
TemplateProcessor
-
findProcessorName
public String findProcessorName(Blob templateBlob)
Description copied from interface:TemplateProcessorServiceFinds the template processor name for a givenBlob. The template processor is found based on mime-types.- Specified by:
findProcessorNamein interfaceTemplateProcessorService- Returns:
- the
TemplateProcessorname
-
findProcessorDescriptor
public TemplateProcessorDescriptor findProcessorDescriptor(Blob templateBlob)
-
addContextExtensions
public void addContextExtensions(DocumentModel currentDocument, DocumentWrapper wrapper, Map<String,Object> ctx)
- Specified by:
addContextExtensionsin interfaceTemplateProcessorService
-
getReservedContextKeywords
public List<String> getReservedContextKeywords()
- Specified by:
getReservedContextKeywordsin interfaceTemplateProcessorService
-
getRegistredContextExtensions
public Map<String,ContextExtensionFactoryDescriptor> getRegistredContextExtensions()
- Specified by:
getRegistredContextExtensionsin interfaceTemplateProcessorService
-
findProcessorByMimeType
protected TemplateProcessorDescriptor findProcessorByMimeType(String mt)
-
findProcessorByExtension
protected TemplateProcessorDescriptor findProcessorByExtension(String extension)
-
getDescriptor
public TemplateProcessorDescriptor getDescriptor(String name)
-
getProcessor
public TemplateProcessor getProcessor(String name)
Description copied from interface:TemplateProcessorServiceGet aTemplateProcessorby it's name. Name is defined in the associated descriptor.- Specified by:
getProcessorin interfaceTemplateProcessorService- Returns:
- the
TemplateProcessor
-
getAvailableTemplateDocs
public List<DocumentModel> getAvailableTemplateDocs(CoreSession session, String targetType)
Description copied from interface:TemplateProcessorServiceFindTemplateSourceDocuments that can be bound to a given doc type.- Specified by:
getAvailableTemplateDocsin interfaceTemplateProcessorServicetargetType- the target Document Type- Returns:
- List of applicable DocumentModel
-
getTemplateDoc
public DocumentModel getTemplateDoc(CoreSession session, String name)
Description copied from interface:TemplateProcessorServiceReturns a template with a given templateName.- Specified by:
getTemplateDocin interfaceTemplateProcessorServicename- the name of the template
-
wrap
protected <T> List<T> wrap(List<DocumentModel> docs, Class<T> adapter)
-
getAvailableOfficeTemplates
public List<TemplateSourceDocument> getAvailableOfficeTemplates(CoreSession session, String targetType)
Description copied from interface:TemplateProcessorServiceRetrieve theTemplateSourceDocumentthat can be used as an Office template (i.e that support to store the template file as main blob of target DocumentModel)- Specified by:
getAvailableOfficeTemplatesin interfaceTemplateProcessorService
-
getAvailableTemplates
public List<TemplateSourceDocument> getAvailableTemplates(CoreSession session, String targetType)
Description copied from interface:TemplateProcessorServiceFindTemplateSourceDocuments that can be bound to a given doc type.- Specified by:
getAvailableTemplatesin interfaceTemplateProcessorServicetargetType- the target Document Type- Returns:
- List of applicable
TemplateSourceDocument
-
getLinkedTemplateBasedDocuments
public List<TemplateBasedDocument> getLinkedTemplateBasedDocuments(DocumentModel source)
Description copied from interface:TemplateProcessorServiceRetrieve the DocumentModels using a givenTemplateSourceDocument- Specified by:
getLinkedTemplateBasedDocumentsin interfaceTemplateProcessorService- Parameters:
source- theTemplateSourceDocument
-
getRegisteredTemplateProcessors
public Collection<TemplateProcessorDescriptor> getRegisteredTemplateProcessors()
Description copied from interface:TemplateProcessorServiceReturns all registeredTemplateProcessors- Specified by:
getRegisteredTemplateProcessorsin interfaceTemplateProcessorService- Returns:
- collection of registered
TemplateProcessorDescriptor
-
getTypeMapping
public Map<String,List<String>> getTypeMapping()
Description copied from interface:TemplateProcessorServiceRetrieve the Map used for mapping Document Types to Template Names. This Map represent the Templates that must be automatically bound at creation time for each Document Type.- Specified by:
getTypeMappingin interfaceTemplateProcessorService- Returns:
- the Type2Template mapping
-
registerTypeMapping
public void registerTypeMapping(DocumentModel doc)
Description copied from interface:TemplateProcessorServiceUpdate Type2Template Mapping from the data contained in the source DocumentModel.- Specified by:
registerTypeMappingin interfaceTemplateProcessorService
-
makeTemplateBasedDocument
public DocumentModel makeTemplateBasedDocument(DocumentModel targetDoc, DocumentModel sourceTemplateDoc, boolean save)
Description copied from interface:TemplateProcessorServiceAssociate aDocumentModelto aTemplateSourceDocument. If the DocumentModel is not already aTemplateBasedDocument, the associated facet will be automatically added.- Specified by:
makeTemplateBasedDocumentin interfaceTemplateProcessorService- Parameters:
targetDoc- the DocumentModel to associate to a templatesourceTemplateDoc- the DocumentModel holding the templatesave- flag to indicate if target DocumentModel must be saved or not- Returns:
- the updated DocumentModel
-
detachTemplateBasedDocument
public DocumentModel detachTemplateBasedDocument(DocumentModel targetDoc, String templateName, boolean save)
Description copied from interface:TemplateProcessorServiceDetach a Template from aDocumentModel- Specified by:
detachTemplateBasedDocumentin interfaceTemplateProcessorService- Parameters:
targetDoc- the DocumentModel to detachtemplateName- the name of the template to detachsave- save flag to indicate if target DocumentModel must be saved or not- Returns:
- the updated DocumentModel
-
invalidateTypeMapping
protected void invalidateTypeMapping()
-
getOutputFormats
public Collection<OutputFormatDescriptor> getOutputFormats()
- Specified by:
getOutputFormatsin interfaceTemplateProcessorService- Returns:
- the list of registered Ouput formats used to convert output of a rendered document.
-
getOutputFormatDescriptor
public OutputFormatDescriptor getOutputFormatDescriptor(String outputFormatId)
Description copied from interface:TemplateProcessorServiceThe returnedOutputFormatDescriptorcontains either an operation chain or a mime-type use to convert the output of a rendered document.- Specified by:
getOutputFormatDescriptorin interfaceTemplateProcessorService- Returns:
OutputFormatDescriptor
-
-