EMMA Coverage Report (generated Tue May 18 22:13:27 CDT 2004)
[all classes][org.apache.velocity.runtime.resource.loader]

COVERAGE SUMMARY FOR SOURCE FILE [ResourceLoader.java]

nameclass, %method, %block, %line, %
ResourceLoader.java100% (1/1)71%  (5/7)85%  (45/53)76%  (13/17)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ResourceLoader100% (1/1)71%  (5/7)85%  (45/53)76%  (13/17)
setCachingOn (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setModificationCheckInterval (long): void 0%   (0/1)0%   (0/4)0%   (0/2)
ResourceLoader (): void 100% (1/1)100% (15/15)100% (5/5)
commonInit (RuntimeServices, ExtendedProperties): void 100% (1/1)100% (21/21)100% (5/5)
getClassName (): String 100% (1/1)100% (3/3)100% (1/1)
getModificationCheckInterval (): long 100% (1/1)100% (3/3)100% (1/1)
isCachingOn (): boolean 100% (1/1)100% (3/3)100% (1/1)

1package org.apache.velocity.runtime.resource.loader;
2 
3/*
4 * Copyright 2001,2004 The Apache Software Foundation.
5 * 
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 * 
10 *      http://www.apache.org/licenses/LICENSE-2.0
11 * 
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18 
19import java.io.InputStream;
20 
21import org.apache.velocity.runtime.RuntimeServices;
22 
23import org.apache.velocity.runtime.resource.Resource;
24 
25import org.apache.velocity.exception.ResourceNotFoundException;
26 
27import org.apache.commons.collections.ExtendedProperties;
28 
29/**
30 * This is abstract class the all text resource loaders should
31 * extend.
32 * 
33 * @author <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>
34 * @author <a href="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>
35 * @version $Id: ResourceLoader.java,v 1.14.4.1 2004/03/03 23:23:02 geirm Exp $
36 */
37public abstract class ResourceLoader
38{
39    /** 
40     * Does this loader want templates produced with it
41     * cached in the Runtime.
42     */
43     protected boolean isCachingOn = false;
44    
45    /**
46     * This property will be passed on to the templates
47     * that are created with this loader.
48     */
49    protected long modificationCheckInterval = 2;
50   
51    /**
52     * Class name for this loader, for logging/debuggin
53     * purposes.
54     */
55    protected String className = null;
56 
57    protected RuntimeServices rsvc = null;
58 
59    /**
60     * This initialization is used by all resource
61     * loaders and must be called to set up common
62     * properties shared by all resource loaders
63     */
64    public void commonInit( RuntimeServices rs, ExtendedProperties configuration)
65    {
66        this.rsvc = rs;
67 
68        /*
69         *  these two properties are not required for all loaders.
70         *  For example, for ClasspathLoader, what would cache mean? 
71         *  so adding default values which I think are the safest
72         *
73         *  don't cache, and modCheckInterval irrelevant...
74         */
75 
76        isCachingOn = configuration.getBoolean("cache", false);
77        modificationCheckInterval = configuration.getLong("modificationCheckInterval", 0);
78        
79        /*
80         * this is a must!
81         */
82 
83        className = configuration.getString("class");
84    }
85 
86    /** 
87     * Initialize the template loader with a
88     * a resources class.
89     */
90    public abstract void init( ExtendedProperties configuration);
91 
92    /** 
93     * Get the InputStream that the Runtime will parse
94     * to create a template.
95     */
96    public abstract InputStream getResourceStream( String source ) 
97        throws ResourceNotFoundException;
98 
99    /**
100     * Given a template, check to see if the source of InputStream
101     * has been modified.
102     */
103    public abstract boolean isSourceModified(Resource resource);
104    
105    /**
106     * Get the last modified time of the InputStream source
107     * that was used to create the template. We need the template
108     * here because we have to extract the name of the template
109     * in order to locate the InputStream source.
110     */
111    public abstract long getLastModified(Resource resource);
112 
113    /**
114     * Return the class name of this resource Loader
115     */
116    public String getClassName()
117    {
118        return className;
119    }
120 
121    /**
122     * Set the caching state. If true, then this loader
123     * would like the Runtime to cache templates that
124     * have been created with InputStreams provided
125     * by this loader.
126     */
127    public void setCachingOn(boolean value)
128    {
129        isCachingOn = value;
130    }
131 
132    /**
133     * The Runtime uses this to find out whether this
134     * template loader wants the Runtime to cache
135     * templates created with InputStreams provided
136     * by this loader.
137     */
138    public boolean isCachingOn()
139    {
140        return isCachingOn;
141    }
142 
143    /**
144     * Set the interval at which the InputStream source
145     * should be checked for modifications.
146     */
147    public void setModificationCheckInterval(long modificationCheckInterval)
148    {
149        this.modificationCheckInterval = modificationCheckInterval;
150    }
151    
152    /**
153     * Get the interval at which the InputStream source
154     * should be checked for modifications.
155     */
156    public long getModificationCheckInterval()
157    {
158        return modificationCheckInterval;
159    }
160}

[all classes][org.apache.velocity.runtime.resource.loader]
EMMA 2.0.4015 (stable) (C) Vladimir Roubtsov