com.enonic.cms.core.xslt.portal.XsltTemplatesCacheEntry.java Source code

Java tutorial

Introduction

Here is the source code for com.enonic.cms.core.xslt.portal.XsltTemplatesCacheEntry.java

Source

/*
 * 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);
    }
}