• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Licensed to the Apache Software Foundation (ASF) under one
2# or more contributor license agreements.  See the NOTICE file
3# distributed with this work for additional information
4# regarding copyright ownership.  The ASF licenses this file
5# to you under the Apache License, Version 2.0 (the
6# "License"); you may not use this file except in compliance
7# with the License.  You may obtain a copy of the License at
8#
9#   http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing,
12# software distributed under the License is distributed on an
13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14# KIND, either express or implied.  See the License for the
15# specific language governing permissions and limitations
16# under the License.
17
18# ----------------------------------------------------------------------------
19# This controls whether invalid references are logged.
20# ----------------------------------------------------------------------------
21
22runtime.log.invalid.references = true
23
24# ----------------------------------------------------------------------------
25# T E M P L A T E  E N C O D I N G
26# ----------------------------------------------------------------------------
27
28input.encoding=UTF-8
29
30# ----------------------------------------------------------------------------
31# Strings interning
32# ----------------------------------------------------------------------------
33# Set to true to optimize memory, to false to optimize speed
34
35runtime.string.interning = true
36
37# ----------------------------------------------------------------------------
38# F O R E A C H  P R O P E R T I E S
39# ----------------------------------------------------------------------------
40# This property controls how many loops #foreach can execute. The default
41# is -1, which means there is no limit.
42# ----------------------------------------------------------------------------
43
44directive.foreach.maxloops = -1
45
46# ----------------------------------------------------------------------------
47# I F  P R O P E R T I E S
48# ----------------------------------------------------------------------------
49# This property controls whether empty strings and collections,
50# as long as zero numbers, do evaluate to false.
51# ----------------------------------------------------------------------------
52
53directive.if.emptycheck = true
54
55# ----------------------------------------------------------------------------
56# I N C L U D E  P R O P E R T I E S
57# ----------------------------------------------------------------------------
58# These are the properties that governed the way #include'd content
59# is governed.
60# ----------------------------------------------------------------------------
61
62directive.include.output.errormsg.start = <!-- include error :
63directive.include.output.errormsg.end   =  see error log -->
64
65# ----------------------------------------------------------------------------
66# P A R S E  P R O P E R T I E S
67# ----------------------------------------------------------------------------
68
69directive.parse.max.depth = 10
70
71# ----------------------------------------------------------------------------
72# S C O P E  P R O P E R T I E S
73# ----------------------------------------------------------------------------
74# These are the properties that govern whether or not a Scope object
75# is automatically provided for each of the given scopes to serve as a
76# scope-safe reference namespace and "label" for #break calls. The default
77# for most of these is false.  Note that <bodymacroname> should be replaced by
78# name of macros that take bodies for which you want to suppress the scope.
79# ----------------------------------------------------------------------------
80# template.provide.scope.control = false
81# evaluate.provide.scope.control = false
82foreach.provide.scope.control = true
83# macro.provide.scope.control = false
84# define.provide.scope.control = false
85# <bodymacroname>.provide.scope.control = false
86
87# ----------------------------------------------------------------------------
88# T E M P L A T E  L O A D E R S
89# ----------------------------------------------------------------------------
90#
91#
92# ----------------------------------------------------------------------------
93
94resource.loader = file
95
96file.resource.loader.description = Velocity File Resource Loader
97file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader
98file.resource.loader.path = .
99file.resource.loader.cache = false
100file.resource.loader.modificationCheckInterval = 2
101
102# ----------------------------------------------------------------------------
103# VELOCIMACRO PROPERTIES
104# ----------------------------------------------------------------------------
105# global : name of default global library.  It is expected to be in the regular
106# template path.  You may remove it (either the file or this property) if
107# you wish with no harm.
108# ----------------------------------------------------------------------------
109# velocimacro.library = VM_global_library.vm
110
111velocimacro.permissions.allow.inline = true
112velocimacro.permissions.allow.inline.to.replace.global = false
113velocimacro.permissions.allow.inline.local.scope = false
114velocimacro.max.depth = 20
115
116# ----------------------------------------------------------------------------
117# VELOCIMACRO STRICT MODE
118# ----------------------------------------------------------------------------
119# if true, will throw an exception for incorrect number
120# of arguments.  false by default (for backwards compatibility)
121# but this option will eventually be removed and will always
122# act as if true
123# ----------------------------------------------------------------------------
124velocimacro.arguments.strict = false
125
126# ----------------------------------------------------------------------------
127# VELOCIMACRO BODY REFERENCE
128# ----------------------------------------------------------------------------
129# Defines name of the reference that can be used to render the AST block passed to
130# block macro call as an argument inside a macro.
131# ----------------------------------------------------------------------------
132velocimacro.body.reference=bodyContent
133
134# ----------------------------------------------------------------------------
135# VELOCIMACRO PRESERVE ARGUMENTS LITERALS
136# ----------------------------------------------------------------------------
137# if true, when a macro has to render a null or invalid argument reference
138# which is not quiet, it will print the provided literal reference instead
139# of the one found in the body of the macro
140# ----------------------------------------------------------------------------
141velocimacro.preserve.arguments.literals = false
142
143
144# ----------------------------------------------------------------------------
145# STRICT REFERENCE MODE
146# ----------------------------------------------------------------------------
147# if true, will throw a MethodInvocationException for references
148# that are not defined in the context, or have not been defined
149# with a #set directive. This setting will also throw an exception
150# if an attempt is made to call a non-existing property on an object
151# or if the object is null.  When this property is true then property
152# 'directive.set.null.allowed' is also set to true.
153# ----------------------------------------------------------------------------
154runtime.references.strict = false
155
156# ----------------------------------------------------------------------------
157# INTERPOLATION
158# ----------------------------------------------------------------------------
159# turn off and on interpolation of references and directives in string
160# literals.  ON by default :)
161# ----------------------------------------------------------------------------
162runtime.interpolate.string.literals = true
163
164
165# ----------------------------------------------------------------------------
166# RESOURCE MANAGEMENT
167# ----------------------------------------------------------------------------
168# Allows alternative ResourceManager and ResourceCache implementations
169# to be plugged in.
170# ----------------------------------------------------------------------------
171resource.manager.class = org.apache.velocity.runtime.resource.ResourceManagerImpl
172resource.manager.cache.class = org.apache.velocity.runtime.resource.ResourceCacheImpl
173
174# ----------------------------------------------------------------------------
175# PARSER POOL
176# ----------------------------------------------------------------------------
177# Selects a custom factory class for the parser pool.  Must implement
178# ParserPool.  parser.pool.size is used by the default implementation
179# ParserPoolImpl
180# ----------------------------------------------------------------------------
181
182parser.pool.class = org.apache.velocity.runtime.ParserPoolImpl
183parser.pool.size = 20
184
185
186# ----------------------------------------------------------------------------
187# EVENT HANDLER
188# ----------------------------------------------------------------------------
189# Allows alternative event handlers to be plugged in.  Note that each
190# class property is actually a comma-separated list of classes (which will
191# be called in order).
192# ----------------------------------------------------------------------------
193# eventhandler.referenceinsertion.class =
194# eventhandler.nullset.class =
195# eventhandler.methodexception.class =
196# eventhandler.include.class =
197
198
199# ----------------------------------------------------------------------------
200# PLUGGABLE INTROSPECTOR
201# ----------------------------------------------------------------------------
202# Allows alternative introspection and all that can of worms brings.
203# ----------------------------------------------------------------------------
204
205runtime.introspector.uberspect = org.apache.velocity.util.introspection.UberspectImpl
206
207# ----------------------------------------------------------------------------
208# CONVERSION HANDLER
209# ----------------------------------------------------------------------------
210# Sets the data types Conversion Handler used by the default uberspector
211# ----------------------------------------------------------------------------
212
213runtime.conversion.handler.class = org.apache.velocity.util.introspection.TypeConversionHandlerImpl
214
215
216# ----------------------------------------------------------------------------
217# SECURE INTROSPECTOR
218# ----------------------------------------------------------------------------
219# If selected, prohibits methods in certain classes and packages from being
220# accessed.
221# ----------------------------------------------------------------------------
222
223# Prohibit reflection
224introspector.restrict.packages = java.lang.reflect
225
226# ClassLoader, Thread, and subclasses disabled by default in SecureIntrospectorImpl
227
228# Restrict these system classes.  Note that anything in this list is matched exactly.
229# (Subclasses must be explicitly named to be included).
230
231introspector.restrict.classes = java.lang.Class
232introspector.restrict.classes = java.lang.Compiler
233introspector.restrict.classes = java.lang.InheritableThreadLocal
234introspector.restrict.classes = java.lang.Package
235introspector.restrict.classes = java.lang.Process
236introspector.restrict.classes = java.lang.Runtime
237introspector.restrict.classes = java.lang.RuntimePermission
238introspector.restrict.classes = java.lang.SecurityManager
239introspector.restrict.classes = java.lang.System
240introspector.restrict.classes = java.lang.ThreadGroup
241introspector.restrict.classes = java.lang.ThreadLocal
242
243# Restrict instance managers for common servlet containers  (Tomcat, JBoss, Jetty)
244
245introspector.restrict.classes = org.apache.catalina.core.DefaultInstanceManager
246introspector.restrict.classes = org.apache.tomcat.SimpleInstanceManager
247introspector.restrict.classes = org.wildfly.extension.undertow.deployment.UndertowJSPInstanceManager
248introspector.restrict.classes = org.eclipse.jetty.util.DecoratedObjectFactory
249
250# ----------------------------------------------------------------------------
251# SPACE GOBBLING
252# ----------------------------------------------------------------------------
253# Possible values: none, bc (aka Backward Compatible), lines, structured
254# ----------------------------------------------------------------------------
255
256space.gobbling = lines
257
258# ----------------------------------------------------------------------------
259# HYPHEN IN IDENTIFIERS
260# ----------------------------------------------------------------------------
261# Set to true to allow '-' in reference identifiers (backward compatibility option)
262# ----------------------------------------------------------------------------
263
264parser.allow_hyphen_in_identifiers = false
265