public void remember ( final Resource resource ) { final WroManager manager = getManagerFactory ( ) . create ( ) ; final HashStrategy hashStrategy = manager . getHashStrategy ( ) ; final UriLocatorFactory locatorFactory = manager . getUriLocatorFactory ( ) ; if ( rememberedSet . contains ( resource . getUri ( ) ) ) { // only calculate fingerprints and check imports if not already done getLog ( ) . debug ( "Resource with uri '" + resource . getUri ( ) + "' has already been updated in this run." ) ; } else { try { final String fingerprint = hashStrategy . getHash ( locatorFactory . locate ( resource . getUri ( ) ) ) ; getBuildContextHolder ( ) . setValue ( resource . getUri ( ) , fingerprint ) ; rememberedSet . add ( resource . getUri ( ) ) ; getLog ( ) . debug ( "Persist fingerprint for resource '" + resource . getUri ( ) + "' : " + fingerprint ) ; if ( resource . getType ( ) == ResourceType . CSS ) { final Reader reader = new InputStreamReader ( locatorFactory . locate ( resource . getUri ( ) ) ) ; getLog ( ) . debug ( "Check @import directive from " + resource ) ; // persist fingerprints in imported resources. persistFingerprintsForCssImports ( resource , reader ) ; } } catch ( final IOException e ) { getLog ( ) . debug ( "could not check fingerprint of resource: " + resource ) ; } } }
Will persist the information regarding the provided resource in some internal store . This information will be used later to check if the resource is changed .