Class AbstractRenditionBuilderWork

All Implemented Interfaces:
Serializable, Work
Direct Known Subclasses:
AutomationRenditionBuilder

public abstract class AbstractRenditionBuilderWork extends TransientStoreWork
Since:
7.2
Author:
Tiry
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • buildId

      protected String buildId(DocumentModel doc, RenditionDefinition def)
    • getTitle

      public String getTitle()
      Description copied from interface: Work
      Gets a human-readable name for this work instance.
      Returns:
      a human-readable name
    • getCategory

      public String getCategory()
      Description copied from interface: Work
      Gets the category for this work.

      Used to choose an execution queue.

      Specified by:
      getCategory in interface Work
      Overrides:
      getCategory in class AbstractWork
      Returns:
      the category, or null for the default
    • getTransientStoreName

      protected String getTransientStoreName()
    • isIdempotent

      public boolean isIdempotent()
      Description copied from interface: Work
      Returns true if a work with a given Work.getId() should always produce the same result. The WorkManager implementation can safely skip duplicate executions of idempotent work.
      Specified by:
      isIdempotent in interface Work
      Overrides:
      isIdempotent in class TransientStoreWork
    • isCoalescing

      public boolean isCoalescing()
      Description copied from interface: Work
      When setting the coalescing flag to true you indicate to the work manager that if multiple works with the same id are scheduled you only care about the lastest execution. The goal is to skip useless executions to save resources, It is up to the work manager implementation to support or not this optimization.
    • work

      public void work()
      Description copied from interface: Work
      This method should implement the actual work done by the Work instance.

      It should periodically update its progress through Work.setProgress(org.nuxeo.ecm.core.work.api.Work.Progress).

      To allow for suspension by the WorkManager, it should periodically call Work.isSuspending(), and if true call Work.suspended() return early with saved state data.

      Clean up can by implemented by Work.cleanUp(boolean, Exception).

      Specified by:
      work in interface Work
      Specified by:
      work in class AbstractWork
      See Also:
    • cleanUp

      public void cleanUp(boolean ok, Exception e)
      Description copied from class: AbstractWork
      This method is called after AbstractWork.work() is done in a finally block, whether work completed normally or was in error or was interrupted.
      Specified by:
      cleanUp in interface Work
      Overrides:
      cleanUp in class AbstractWork
      Parameters:
      ok - true if the work completed normally
      e - the exception, if available
    • storeAnErrorRendition

      protected void storeAnErrorRendition()
    • getSourceDocumentModificationDate

      protected String getSourceDocumentModificationDate(DocumentModel doc)
    • doComputeRendition

      protected abstract List<Blob> doComputeRendition(CoreSession session, DocumentModel doc, RenditionDefinition def)
      Does the actual Rendition Computation: this code will be called from inside an Asynchronous Work