Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (c) 1997-2013, www.tinygroup.org (tinygroup@126.com). Licensed under the GPL, Version 3.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.gnu.org/licenses/gpl.html Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
 
 package org.tinygroup.template.loader;
 
 
 import java.util.Map;
抽象模板加载器 Created by luoguo on 2014/6/9.
 
 public abstract class AbstractResourceLoader<T> implements ResourceLoader<T> {
     private boolean checkModified = false;
     private ClassLoader classLoader;
     private Map<StringTemplaterepositories = new ConcurrentHashMap<StringTemplate>();
     private TemplateEngine templateEngine;
     private String templateExtName;
     private String layoutExtName;
     private String macroLibraryExtName;
 
     public void setCheckModified(boolean checkModified) {
         this. = checkModified;
     }
 
     public ClassLoader getClassLoader() {
         return ;
     }
 
     public void setClassLoader(ClassLoader classLoader) {
         this. = classLoader;
     }
 
 
     public AbstractResourceLoader(String templateExtNameString layoutExtNameString macroLibraryExtName) {
         this. = "." + templateExtName;
         this. = "." + layoutExtName;
         this. = "." + macroLibraryExtName;
         setClassLoader(getClass().getClassLoader());
     }
 
 
     public String getLayoutPath(String templatePath) {
         if (templatePath.endsWith()) {
             return templatePath.substring(0, templatePath.length() - .length()) + ;
         }
         return null;
     }
 
 
     public String getTemplateExtName() {
         return ;
     }
 
 
     public String getLayoutExtName() {
         return ;
     }
 
     public String getMacroLibraryExtName() {
         return ;
     }
 
     public void setMacroLibraryExtName(String macroLibraryExtName) {
         this. = macroLibraryExtName;
     }
 
     public Template getTemplate(String paththrows TemplateException {
         return getTemplateItem(path);
     }
 
     private Template getTemplateItem(String pathString templateExtNamethrows TemplateException {
         if (!path.endsWith(templateExtName)) {
             return null;
         }
         Template template = .get(path);
         if (template == null ||  && isModified(path)) {
             template = loadTemplateItem(path);
             if (template != null) {
                 resetModified(path);
             }
         }
        return template;
    }
    public boolean isModified(String path) {
        return false;
    }
    public void resetModified(String path) {
    }
    public Template getLayout(String paththrows TemplateException {
        return getTemplateItem(path);
    }
    public Template getMacroLibrary(String paththrows TemplateException {
        return getTemplateItem(path);
    }
    protected abstract Template loadTemplateItem(String paththrows TemplateException;
    public ResourceLoader addTemplate(Template templatethrows TemplateException {
        return addTemplateItem(template);
    }
    private ResourceLoader addTemplateItem(Template template) {
        .put(template.getPath(), template);
        template.setTemplateEngine();
        return this;
    }
    public Map<StringTemplategetRepositories() {
        return ;
    }
    public void setTemplateEngine(TemplateEngine templateEngine) {
        this. = templateEngine;
    }
    public TemplateEngine getTemplateEngine() {
        return ;
    }
New to GrepCode? Check out our FAQ X