Tpl.java
Upload User: gdxydsw
Upload Date: 2019-01-29
Package Size: 16721k
Code Size: 3k
Category:

Java Develop

Development Platform:

Java

  1. /*
  2.  * Copyright (c) JForum Team
  3.  * 
  4.  * All rights reserved.
  5.  * Redistribution and use in source and binary forms, 
  6.  * with or without modification, are permitted provided 
  7.  * that the following conditions are met:
  8.  * 
  9.  * 1) Redistributions of source code must retain the above 
  10.  * copyright notice, this list of conditions and the 
  11.  * following  disclaimer.
  12.  * 2)  Redistributions in binary form must reproduce the 
  13.  * above copyright notice, this list of conditions and 
  14.  * the following disclaimer in the documentation and/or 
  15.  * other materials provided with the distribution.
  16.  * 3) Neither the name of "Rafael Steil" nor 
  17.  * the names of its contributors may be used to endorse 
  18.  * or promote products derived from this software without 
  19.  * specific prior written permission.
  20.  * 
  21.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT 
  22.  * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
  23.  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, 
  24.  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
  25.  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
  26.  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 
  27.  * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 
  28.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
  29.  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
  30.  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
  31.  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
  32.  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
  33.  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 
  34.  * IN CONTRACT, STRICT LIABILITY, OR TORT 
  35.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
  36.  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
  37.  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
  38.  * 
  39.  * Created on Mar 14, 2005 3:27:33 PM
  40.  * The JForum Project
  41.  * http://www.jforum.net
  42.  */
  43. package net.jforum.repository;
  44. import java.io.FileInputStream;
  45. import java.util.Iterator;
  46. import java.util.Properties;
  47. import net.jforum.cache.CacheEngine;
  48. import net.jforum.cache.Cacheable;
  49. import net.jforum.exceptions.ConfigLoadException;
  50. /**
  51.  * @author Rafael Steil
  52.  * @version $Id: Tpl.java,v 1.7 2007/04/12 02:11:54 rafaelsteil Exp $
  53.  */
  54. public class Tpl implements Cacheable
  55. {
  56. private static final String FQN = "templates";
  57. private static CacheEngine cache;
  58. /**
  59.  * @see net.jforum.cache.Cacheable#setCacheEngine(net.jforum.cache.CacheEngine)
  60.  */
  61. public void setCacheEngine(CacheEngine engine)
  62. {
  63. cache = engine;
  64. }
  65. /**
  66.  * Loads the HTML mappings file. 
  67.  * 
  68.  * @param filename The complete path to the file to load
  69.  * @throws ConfigLoadException if the file is not found or
  70.  * some other error occurs when loading the file.
  71.  */
  72. public static void load(String filename)
  73. {
  74. FileInputStream fis = null;
  75. try {
  76. Properties p = new Properties();
  77. fis = new FileInputStream(filename);
  78. p.load(fis);
  79. for (Iterator iter = p.keySet().iterator(); iter.hasNext(); ) {
  80. String key = (String)iter.next();
  81. cache.add(FQN, key, p.getProperty(key));
  82. }
  83. }
  84. catch (Exception e) {
  85. e.printStackTrace();
  86. throw new ConfigLoadException("Error while trying to load " + filename + ": " + e);
  87. }
  88. finally {
  89. if (fis != null) {
  90. try { fis.close(); } catch (Exception e) {}
  91. }
  92. }
  93. }
  94. /**
  95.  * Gets a template filename by its configuration's key
  96.  * 
  97.  * @param key The Key to load.
  98.  * @return The html template filename
  99.  */
  100. public static String name(String key)
  101. {
  102. return (String)cache.get(FQN, key);
  103. }
  104. }