Java tutorial
/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.xslt.portal; import java.util.Set; import javax.xml.transform.Source; import javax.xml.transform.TransformerException; import javax.xml.transform.URIResolver; import com.google.common.collect.Sets; import com.enonic.cms.core.resource.FileResourceName; import com.enonic.cms.core.xslt.XsltResourceHelper; final class XsltTrackingUriResolver implements URIResolver { private final XsltResourceLoader resourceLoader; private final Set<FileResourceName> includeSet; public XsltTrackingUriResolver(final XsltResourceLoader resourceLoader) { this.resourceLoader = resourceLoader; this.includeSet = Sets.newHashSet(); } public Set<FileResourceName> getIncludes() { return this.includeSet; } @Override public Source resolve(final String href, final String base) throws TransformerException { final FileResourceName name = new FileResourceName(XsltResourceHelper.resolveRelativePath(href, base)); final Source source = this.resourceLoader.load(name); this.includeSet.add(name); return source; } }