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