Class Hierarchy (FreeMarker 2.3.23 API)
Date: 2015-07-05

# Hierarchy For All Packages

Package Hierarchies:

- freemarker.cache,
- freemarker.core,
- freemarker.debug,
- freemarker.ext.ant,
- freemarker.ext.beans,
- freemarker.ext.dom,
- freemarker.ext.jdom,
- freemarker.ext.jsp,
- freemarker.ext.jython,
- freemarker.ext.rhino,
- freemarker.ext.servlet,
- freemarker.ext.util,
- freemarker.ext.xml,
- freemarker.log,
- freemarker.template,
- freemarker.template.utility

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - freemarker.ext.beans.HashAdapter (implements freemarker.template.TemplateModelAdapter)
    - freemarker.ext.util.IdentityHashMap (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
  - freemarker.core.ArithmeticEngine
    - freemarker.core.ArithmeticEngine.BigDecimalEngine
    - freemarker.core.ArithmeticEngine.ConservativeEngine
  - freemarker.ext.beans.BeanModel (implements freemarker.template.AdapterTemplateModel, freemarker.template.TemplateHashModelEx, freemarker.template.TemplateModelWithAPISupport, freemarker.ext.util.WrapperTemplateModel)
    - freemarker.ext.beans.ArrayModel (implements freemarker.template.TemplateCollectionModel, freemarker.template.TemplateSequenceModel)
    - freemarker.ext.beans.BooleanModel (implements freemarker.template.TemplateBooleanModel)
    - freemarker.ext.beans.DateModel (implements freemarker.template.TemplateDateModel)
    - freemarker.ext.beans.EnumerationModel (implements freemarker.template.TemplateCollectionModel, freemarker.template.TemplateModelIterator)
    - freemarker.ext.beans.IteratorModel (implements freemarker.template.TemplateCollectionModel, freemarker.template.TemplateModelIterator)
    - freemarker.ext.beans.NumberModel (implements freemarker.template.TemplateNumberModel)
    - freemarker.ext.beans.ResourceBundleModel (implements freemarker.template.TemplateMethodModelEx)
    - freemarker.ext.beans.StringModel (implements freemarker.template.TemplateScalarModel)
      - freemarker.ext.beans.CollectionModel (implements freemarker.template.TemplateCollectionModel, freemarker.template.TemplateSequenceModel)
      - freemarker.ext.beans.MapModel (implements freemarker.template.TemplateMethodModelEx)
  - freemarker.ext.beans.BeansWrapper (implements freemarker.template.utility.RichObjectWrapper, freemarker.template.utility.WriteProtectable)
    - freemarker.template.DefaultObjectWrapper
      - freemarker.template.SimpleObjectWrapper
    - freemarker.ext.rhino.RhinoWrapper
  - freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision
  - freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput
  - freemarker.ext.beans.BeansWrapperConfiguration (implements java.lang.Cloneable)
    - freemarker.ext.beans.BeansWrapperBuilder
    - freemarker.template.DefaultObjectWrapperConfiguration
      - freemarker.template.DefaultObjectWrapperBuilder
  - freemarker.debug.Breakpoint (implements java.lang.Comparable<T>, java.io.Serializable)
  - freemarker.template.utility.CaptureOutput (implements freemarker.template.TemplateTransformModel)
  - freemarker.template.utility.ClassUtil
  - freemarker.template.utility.Collections12
  - freemarker.template.utility.CollectionUtils
  - freemarker.core.CommandLine
  - java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - java.awt.Container
      - javax.swing.JComponent (implements java.io.Serializable)
        - javax.swing.JTree (implements javax.accessibility.Accessible, javax.swing.Scrollable)
          - freemarker.core.FreeMarkerTree
  - freemarker.core.Configurable
    - freemarker.template.Configuration (implements java.lang.Cloneable)
    - freemarker.core.Environment
    - freemarker.template.Template
  - freemarker.template.utility.Constants
  - freemarker.core.CustomAttribute
  - freemarker.template.utility.DateUtil
  - freemarker.template.utility.DateUtil.TrivialCalendarFieldsToDateConverter (implements freemarker.template.utility.DateUtil.CalendarFieldsToDateConverter)
  - freemarker.template.utility.DateUtil.TrivialDateToISO8601CalendarFactory (implements freemarker.template.utility.DateUtil.DateToISO8601CalendarFactory)
  - freemarker.debug.DebuggerClient
  - freemarker.template.utility.DeepUnwrap
  - freemarker.template.utility.DOMNodeModel (implements freemarker.template.TemplateHashModel)
  - freemarker.ext.jsp.EventForwarding (implements javax.servlet.http.HttpSessionAttributeListener, javax.servlet.http.HttpSessionListener, javax.servlet.ServletContextAttributeListener, javax.servlet.ServletContextListener)
  - java.util.EventObject (implements java.io.Serializable)
    - freemarker.debug.EnvironmentSuspendedEvent
  - freemarker.template.utility.Execute (implements freemarker.template.TemplateMethodModel)
  - freemarker.cache.FileTemplateLoader (implements freemarker.cache.TemplateLoader)
  - freemarker.ext.jsp.FreemarkerTag (implements javax.servlet.jsp.tagext.BodyTag)
  - javax.servlet.GenericServlet (implements java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig)
    - javax.servlet.http.HttpServlet (implements java.io.Serializable)
      - freemarker.ext.servlet.FreemarkerServlet
  - freemarker.template.utility.HtmlEscape (implements freemarker.template.TemplateTransformModel)
  - freemarker.ext.servlet.HttpRequestHashModel (implements freemarker.template.TemplateHashModelEx)
  - freemarker.ext.servlet.HttpRequestParametersHashModel (implements freemarker.template.TemplateHashModelEx)
  - freemarker.ext.servlet.HttpSessionHashModel (implements java.io.Serializable, freemarker.template.TemplateHashModel)
  - freemarker.ext.servlet.IncludePage (implements freemarker.template.TemplateDirectiveModel)
  - freemarker.ext.jython.JythonModel (implements freemarker.template.AdapterTemplateModel, freemarker.template.TemplateBooleanModel, freemarker.template.TemplateHashModel, freemarker.template.TemplateMethodModelEx, freemarker.template.TemplateScalarModel, freemarker.ext.util.WrapperTemplateModel)
    - freemarker.ext.jython.JythonHashModel (implements freemarker.template.TemplateHashModelEx)
    - freemarker.ext.jython.JythonNumberModel (implements freemarker.template.TemplateNumberModel)
    - freemarker.ext.jython.JythonSequenceModel (implements freemarker.template.TemplateCollectionModel, freemarker.template.TemplateSequenceModel)
  - freemarker.ext.jython.JythonVersionAdapter
  - freemarker.ext.jython.JythonWrapper (implements freemarker.template.ObjectWrapper)
  - freemarker.template.LocalizedString (implements freemarker.template.TemplateScalarModel)
    - freemarker.template.ResourceBundleLocalizedString
  - freemarker.log.Logger
  - freemarker.ext.util.ModelCache
    - freemarker.ext.beans.BeansModelCache
  - freemarker.cache.MruCacheStorage (implements freemarker.cache.CacheStorageWithGetSize)
  - freemarker.cache.MultiTemplateLoader (implements freemarker.cache.StatefulTemplateLoader)
  - freemarker.ext.jdom.NodeListModel (implements freemarker.template.TemplateCollectionModel, freemarker.template.TemplateHashModel, freemarker.template.TemplateMethodModel, freemarker.template.TemplateScalarModel, freemarker.template.TemplateSequenceModel)
  - freemarker.ext.xml.NodeListModel (implements freemarker.template.TemplateHashModel, freemarker.template.TemplateMethodModel, freemarker.template.TemplateNodeModel, freemarker.template.TemplateScalarModel, freemarker.template.TemplateSequenceModel)
  - freemarker.ext.dom.NodeModel (implements freemarker.core._UnexpectedTypeErrorExplainerTemplateModel, freemarker.template.AdapterTemplateModel, freemarker.template.TemplateHashModel, freemarker.template.TemplateNodeModel, freemarker.template.TemplateSequenceModel, freemarker.ext.util.WrapperTemplateModel)
  - freemarker.template.utility.NormalizeNewlines (implements freemarker.template.TemplateTransformModel)
  - freemarker.cache.NullCacheStorage (implements freemarker.cache.CacheStorageWithGetSize, freemarker.cache.ConcurrentCacheStorage)
  - freemarker.template.utility.NumberUtil
  - freemarker.template.utility.ObjectConstructor (implements freemarker.template.TemplateMethodModelEx)
  - freemarker.template.utility.OptimizerUtil
  - freemarker.core.OptInTemplateClassResolver (implements freemarker.core.TemplateClassResolver)
  - freemarker.ext.beans.OverloadedMethodsModel (implements freemarker.template.TemplateMethodModelEx, freemarker.template.TemplateSequenceModel)
  - org.apache.tools.ant.ProjectComponent
    - org.apache.tools.ant.Task
      - freemarker.ext.ant.JythonAntTask
      - org.apache.tools.ant.taskdefs.MatchingTask (implements org.apache.tools.ant.types.selectors.SelectorContainer)
        - freemarker.ext.ant.FreemarkerXmlTask
  - org.python.util.PythonInterpreter
    - freemarker.template.utility.JythonRuntime (implements freemarker.template.TemplateTransformModel)
  - freemarker.ext.rhino.RhinoScriptableModel (implements freemarker.template.AdapterTemplateModel, freemarker.template.TemplateBooleanModel, freemarker.template.TemplateHashModelEx, freemarker.template.TemplateNumberModel, freemarker.template.TemplateScalarModel, freemarker.template.TemplateSequenceModel)
    - freemarker.ext.rhino.RhinoFunctionModel (implements freemarker.template.TemplateMethodModelEx)
  - freemarker.template.utility.SecurityUtilities
  - freemarker.ext.servlet.ServletContextHashModel (implements freemarker.template.TemplateHashModel)
  - freemarker.template.SimpleDate (implements freemarker.template.TemplateDateModel)
  - freemarker.ext.beans.SimpleMethodModel (implements freemarker.core._UnexpectedTypeErrorExplainerTemplateModel, freemarker.template.TemplateMethodModelEx, freemarker.template.TemplateSequenceModel)
  - freemarker.template.SimpleNumber (implements java.io.Serializable, freemarker.template.TemplateNumberModel)
  - freemarker.template.SimpleScalar (implements java.io.Serializable, freemarker.template.TemplateScalarModel)
  - freemarker.cache.SoftCacheStorage (implements freemarker.cache.CacheStorageWithGetSize, freemarker.cache.ConcurrentCacheStorage)
  - freemarker.template.utility.StandardCompress (implements freemarker.template.TemplateTransformModel)
  - freemarker.cache.StringTemplateLoader (implements freemarker.cache.TemplateLoader)
  - freemarker.template.utility.StringUtil
  - freemarker.cache.StrongCacheStorage (implements freemarker.cache.CacheStorageWithGetSize, freemarker.cache.ConcurrentCacheStorage)
  - freemarker.ext.jsp.TaglibFactory (implements freemarker.template.TemplateHashModel)
  - freemarker.ext.jsp.TaglibFactory.MetaInfTldSource
    - freemarker.ext.jsp.TaglibFactory.ClasspathMetaInfTldSource
    - freemarker.ext.jsp.TaglibFactory.ClearMetaInfTldSource
    - freemarker.ext.jsp.TaglibFactory.WebInfPerLibJarMetaInfTldSource
  - freemarker.cache.TemplateCache
  - freemarker.cache.TemplateCache.MaybeMissingTemplate
  - freemarker.cache.TemplateLookupContext
  - freemarker.cache.TemplateLookupResult
  - freemarker.cache.TemplateLookupStrategy
  - freemarker.template.TemplateModelListSequence (implements freemarker.template.TemplateSequenceModel)
  - freemarker.cache.TemplateNameFormat
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - freemarker.core.CallPlaceCustomDataInitializationException
      - java.io.IOException
        - java.io.FileNotFoundException
          - freemarker.template.TemplateNotFoundException
        - freemarker.template.MalformedTemplateNameException
        - freemarker.core.ParseException
          - freemarker.template.Template.WrongEncodingException
      - java.text.ParseException
        - freemarker.template.utility.DateUtil.DateParseException
      - java.lang.RuntimeException
        - freemarker.core.BugException
        - java.lang.IllegalArgumentException
          - freemarker.template.utility.NullArgumentException
        - freemarker.template.utility.UndeclaredThrowableException
        - freemarker.template.utility.UnsupportedNumberClassException
      - freemarker.template.TemplateException
        - freemarker.core._MiscTemplateException
          - freemarker.core.Configurable.SettingValueAssignmentException
          - freemarker.core.Configurable.UnknownSettingException
        - freemarker.core.InvalidReferenceException
        - freemarker.core.StopException
        - freemarker.template.TemplateModelException
          - freemarker.ext.beans.InvalidPropertyException
        - freemarker.core.UnexpectedTypeException
          - freemarker.core.NonBooleanException
          - freemarker.core.NonDateException
          - freemarker.core.NonExtendedHashException
          - freemarker.core.NonHashException
          - freemarker.core.NonMethodException
          - freemarker.core.NonNodeException
          - freemarker.core.NonNumericalException
          - freemarker.core.NonSequenceException
          - freemarker.core.NonSequenceOrCollectionException
          - freemarker.core.NonStringException
      - freemarker.template.utility.UnrecognizedTimeZoneException
  - freemarker.template.utility.ToCanonical
  - freemarker.ext.dom.Transform
  - freemarker.ext.ant.UnlinkedJythonOperationsImpl
  - freemarker.cache.URLTemplateLoader (implements freemarker.cache.TemplateLoader)
    - freemarker.cache.ClassTemplateLoader
  - freemarker.template.Version (implements java.io.Serializable)
  - freemarker.cache.WebappTemplateLoader (implements freemarker.cache.TemplateLoader)
  - freemarker.template.WrappingTemplateModel
    - freemarker.template.DefaultArrayAdapter (implements freemarker.template.AdapterTemplateModel, java.io.Serializable, freemarker.template.TemplateSequenceModel, freemarker.ext.util.WrapperTemplateModel)
    - freemarker.template.DefaultIteratorAdapter (implements freemarker.template.AdapterTemplateModel, java.io.Serializable, freemarker.template.TemplateCollectionModel, freemarker.ext.util.WrapperTemplateModel)
    - freemarker.template.DefaultListAdapter (implements freemarker.template.AdapterTemplateModel, java.io.Serializable, freemarker.template.TemplateModelWithAPISupport, freemarker.template.TemplateSequenceModel, freemarker.ext.util.WrapperTemplateModel)
    - freemarker.template.DefaultMapAdapter (implements freemarker.template.AdapterTemplateModel, java.io.Serializable, freemarker.template.TemplateHashModelEx, freemarker.template.TemplateModelWithAPISupport, freemarker.ext.util.WrapperTemplateModel)
    - freemarker.template.DefaultNonListCollectionAdapter (implements freemarker.template.AdapterTemplateModel, java.io.Serializable, freemarker.template.TemplateCollectionModelEx, freemarker.template.TemplateModelWithAPISupport, freemarker.ext.util.WrapperTemplateModel)
    - freemarker.template.SimpleCollection (implements java.io.Serializable, freemarker.template.TemplateCollectionModel)
    - freemarker.template.SimpleHash (implements java.io.Serializable, freemarker.template.TemplateHashModelEx)
      - freemarker.ext.servlet.AllHttpScopesHashModel
      - freemarker.core.Environment.Namespace
    - freemarker.ext.beans.SimpleMapModel (implements freemarker.template.AdapterTemplateModel, freemarker.template.TemplateHashModelEx, freemarker.template.TemplateMethodModelEx, freemarker.template.TemplateModelWithAPISupport, freemarker.ext.util.WrapperTemplateModel)
    - freemarker.template.SimpleSequence (implements java.io.Serializable, freemarker.template.TemplateSequenceModel)
      - freemarker.template.SimpleList
  - java.io.Writer (implements java.lang.Appendable, java.io.Closeable, java.io.Flushable)
    - freemarker.template.utility.NullWriter
  - freemarker.template.utility.XmlEscape (implements freemarker.template.TemplateTransformModel)

## Interface Hierarchy

- freemarker.cache.CacheStorage
  - freemarker.cache.CacheStorageWithGetSize
  - freemarker.cache.ConcurrentCacheStorage
- freemarker.template.utility.DateUtil.CalendarFieldsToDateConverter
- freemarker.template.utility.DateUtil.DateToISO8601CalendarFactory
- freemarker.core.DirectiveCallPlace
- java.util.EventListener
  - freemarker.debug.DebuggerListener (also extends java.rmi.Remote)
- freemarker.ext.beans.MethodAppearanceFineTuner
- freemarker.ext.util.ModelFactory
- freemarker.template.utility.ObjectFactory
- freemarker.template.ObjectWrapper
  - freemarker.template.ObjectWrapperAndUnwrapper
    - freemarker.template.utility.RichObjectWrapper (also extends freemarker.template.utility.ObjectWrapperWithAPISupport)
  - freemarker.template.utility.ObjectWrapperWithAPISupport
    - freemarker.template.utility.RichObjectWrapper (also extends freemarker.template.ObjectWrapperAndUnwrapper)
  - freemarker.template.utility.RichObjectWrapper (also extends freemarker.template.ObjectWrapperAndUnwrapper, freemarker.template.utility.ObjectWrapperWithAPISupport)
- java.rmi.Remote
  - freemarker.debug.DebuggedEnvironment
  - freemarker.debug.Debugger
  - freemarker.debug.DebuggerListener (also extends java.util.EventListener)
  - freemarker.debug.DebugModel
    - freemarker.debug.DebuggedEnvironment
- freemarker.ext.beans.SingletonCustomizer
- freemarker.core.TemplateClassResolver
- freemarker.template.TemplateDirectiveBody
- freemarker.template.TemplateExceptionHandler
- freemarker.cache.TemplateLoader
  - freemarker.cache.StatefulTemplateLoader
- freemarker.template.TemplateModel
  - freemarker.template.AdapterTemplateModel
  - freemarker.template.TemplateBooleanModel
  - freemarker.template.TemplateCollectionModel
    - freemarker.template.TemplateCollectionModelEx
  - freemarker.template.TemplateCollectionModelEx
  - freemarker.template.TemplateDateModel
  - freemarker.template.TemplateDirectiveModel
  - freemarker.template.TemplateHashModel
    - freemarker.template.TemplateHashModelEx
  - freemarker.template.TemplateHashModelEx
  - freemarker.template.TemplateMethodModel
    - freemarker.template.TemplateMethodModelEx
  - freemarker.template.TemplateMethodModelEx
  - freemarker.template.TemplateModelWithAPISupport
  - freemarker.template.TemplateNodeModel
  - freemarker.template.TemplateNumberModel
  - freemarker.template.TemplateScalarModel
  - freemarker.template.TemplateSequenceModel
  - freemarker.template.TemplateTransformModel
  - freemarker.ext.util.WrapperTemplateModel
- freemarker.template.TemplateModelAdapter
- freemarker.template.TemplateModelIterator
- freemarker.template.TransformControl
- freemarker.template.utility.WriteProtectable
- freemarker.ext.dom.XPathSupport