Java tutorial
/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.xslt.portal; import java.util.Collection; import java.util.Properties; import java.util.Set; import javax.xml.transform.Templates; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import com.google.common.collect.Sets; import com.enonic.cms.core.resource.FileResourceName; final class XsltTemplatesCacheEntry implements Templates { private final FileResourceName name; private final Templates templates; private final Set<FileResourceName> resourceSet; private final long timestamp; private long lastValidated; public XsltTemplatesCacheEntry(final FileResourceName name, final Templates templates) { this.name = name; this.templates = templates; this.timestamp = System.currentTimeMillis(); this.resourceSet = Sets.newHashSet(); this.resourceSet.add(this.name); this.lastValidated = this.timestamp; } public FileResourceName getName() { return this.name; } public long getCompileTimestamp() { return this.timestamp; } public Set<FileResourceName> getResourceSet() { return this.resourceSet; } @Override public Transformer newTransformer() throws TransformerConfigurationException { return this.templates.newTransformer(); } @Override public Properties getOutputProperties() { return this.templates.getOutputProperties(); } public long getLastValidated() { return lastValidated; } public void setLastValidated(final long lastValidated) { this.lastValidated = lastValidated; } public void addIncludes(final Collection<FileResourceName> includes) { this.resourceSet.addAll(includes); } }