Package se.unlogic.standardutils.xml

Source Code of se.unlogic.standardutils.xml.CachedXSLTResourceStream

/*******************************************************************************
* Copyright (c) 2010 Robert "Unlogic" Olofsson (unlogic@unlogic.se).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0-standalone.html
******************************************************************************/
package se.unlogic.standardutils.xml;

import java.io.IOException;
import java.io.InputStream;

import javax.xml.transform.Source;
import javax.xml.transform.Templates;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;

public class CachedXSLTResourceStream extends CachedXSLTBase{

  private Class<?> resourceClass;
  private String path;

  public CachedXSLTResourceStream(Class<?> resourceClass, String path) throws TransformerConfigurationException {
    this.cacheStyleSheet(resourceClass, path);
  }

  public void reloadStyleSheet() throws TransformerConfigurationException {
    this.cacheStyleSheet(this.resourceClass,this.path);
  }

  private void cacheStyleSheet(Class<?> resourceClass, String path) throws TransformerConfigurationException{
    InputStream inputStream = resourceClass.getResourceAsStream(path);
    Source xsltSource = new StreamSource(inputStream);
    TransformerFactory transFact = TransformerFactory.newInstance();
    Templates templates = transFact.newTemplates(xsltSource);

    try {inputStream.close();} catch (IOException e) {}

    this.templates = templates;
    this.resourceClass = resourceClass;
    this.path = path;
  }

  @Override
  public String toString() {

    return "CachedXSLTResourceStream: " + resourceClass + " " + path;
  }
}
TOP

Related Classes of se.unlogic.standardutils.xml.CachedXSLTResourceStream

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.