Class UpdateTimeVisitor
- java.lang.Object
-
- com.composum.sling.clientlibs.processor.AbstractClientlibVisitor
-
- com.composum.sling.clientlibs.processor.UpdateTimeVisitor
-
- All Implemented Interfaces:
ClientlibVisitor
public class UpdateTimeVisitor extends AbstractClientlibVisitor
Determines the hash of the embedded items of a clientlib or -category for recency checking of cached files.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.composum.sling.clientlibs.handle.ClientlibVisitor
ClientlibVisitor.VisitorMode
-
-
Field Summary
Fields Modifier and Type Field Description protected CalendarlastUpdateTime-
Fields inherited from class com.composum.sling.clientlibs.processor.AbstractClientlibVisitor
embeddedHash, hasEmbeddedFiles, HASH_PATTERN, owner, processedElements, resolver, service
-
-
Constructor Summary
Constructors Modifier Constructor Description UpdateTimeVisitor(ClientlibElement owner, ClientlibService service, org.apache.sling.api.resource.ResourceResolver resolver)protectedUpdateTimeVisitor(ClientlibElement owner, ClientlibService service, org.apache.sling.api.resource.ResourceResolver resolver, LinkedHashSet<ClientlibLink> processedElements)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaction(ClientlibFile file, ClientlibVisitor.VisitorMode mode, ClientlibResourceFolder parent)Optional action to take after visiting the element.voidaction(Clientlib clientlib, ClientlibVisitor.VisitorMode mode, ClientlibResourceFolder parent)Optional action to take after visiting the element.protected ClientlibVisitorcreateVisitorFor(ClientlibElement element)Creates a new visitor for the given clientlib or category as owner.UpdateTimeVisitorexecute()Triggers the processing of theClientlibVisitor.getOwner()by callingClientlibElement.accept(ClientlibVisitor, VisitorMode, ClientlibResourceFolder).CalendargetLastUpdateTime()Returns the last update time estimated from the file update times and clientlib folder create times.protected voidupdateTime(Object entity, Calendar resourceTime)-
Methods inherited from class com.composum.sling.clientlibs.processor.AbstractClientlibVisitor
action, action, action, alreadyProcessed, getHash, getOwner, getProcessedElements, getVisitorFor, isNotProcessed, markAsProcessed, notPresent, removeMinificationDuplicates, resolveAndAccept, supportsEmbedding, updateHash, visit, visit, visit, visit, visit
-
-
-
-
Field Detail
-
lastUpdateTime
protected Calendar lastUpdateTime
-
-
Constructor Detail
-
UpdateTimeVisitor
public UpdateTimeVisitor(ClientlibElement owner, ClientlibService service, org.apache.sling.api.resource.ResourceResolver resolver)
-
UpdateTimeVisitor
protected UpdateTimeVisitor(ClientlibElement owner, ClientlibService service, org.apache.sling.api.resource.ResourceResolver resolver, LinkedHashSet<ClientlibLink> processedElements)
-
-
Method Detail
-
execute
public UpdateTimeVisitor execute() throws IOException, javax.jcr.RepositoryException
Description copied from interface:ClientlibVisitorTriggers the processing of theClientlibVisitor.getOwner()by callingClientlibElement.accept(ClientlibVisitor, VisitorMode, ClientlibResourceFolder).- Specified by:
executein interfaceClientlibVisitor- Overrides:
executein classAbstractClientlibVisitor- Returns:
- this
- Throws:
IOExceptionjavax.jcr.RepositoryException
-
getLastUpdateTime
public Calendar getLastUpdateTime()
Returns the last update time estimated from the file update times and clientlib folder create times. This is only a lower bound for the update time of the client library including its embedded files.
-
createVisitorFor
protected ClientlibVisitor createVisitorFor(ClientlibElement element)
Description copied from class:AbstractClientlibVisitorCreates a new visitor for the given clientlib or category as owner. That'll usually be of the same type as ourselves. Caution: they have to share the sameAbstractClientlibVisitor.processedElementsset!- Specified by:
createVisitorForin classAbstractClientlibVisitor
-
action
public void action(Clientlib clientlib, ClientlibVisitor.VisitorMode mode, ClientlibResourceFolder parent)
Description copied from class:AbstractClientlibVisitorOptional action to take after visiting the element. Default : empty.- Overrides:
actionin classAbstractClientlibVisitor
-
action
public void action(ClientlibFile file, ClientlibVisitor.VisitorMode mode, ClientlibResourceFolder parent)
Description copied from class:AbstractClientlibVisitorOptional action to take after visiting the element. Default : empty.- Overrides:
actionin classAbstractClientlibVisitor
-
-