# Uses of Package
freemarker.template.utility

Packages that use freemarker.template.utility
freemarker.core: The seldom used or advanced parts of the fundamental FreeMarker API, compared to `freemarker.template`.
freemarker.ext.beans: The `default object wrapper` of FreeMarker uses this to expose Java Beans and POJO-s to templates, but it can also be used in itself as a better alternative `ObjectWrapper`.
freemarker.ext.rhino: Exposes Rhino (ECMAScript) objects to templates.
freemarker.template: The fundamental, most commonly used API-s of FreeMarker; start with `Configuration` (see also the Getting Stared in the Manual.)
freemarker.template.utility: Various classes used by core FreeMarker code but might be useful outside of it too.

Classes in freemarker.template.utility used by freemarker.core
Class and Description
ObjectFactory Used for the trivial cases of the factory pattern.

Classes in freemarker.template.utility used by freemarker.ext.beans
Class and Description
ObjectWrapperWithAPISupport Experimental - subject to change: Implemented by `ObjectWrapper`-s to help `TemplateModel`-s to implement the `someValue?api` operation.
RichObjectWrapper Experimental - subject to change: Union of the interfaces that a typical feature rich `ObjectWrapper` is expected to implement.
WriteProtectable Implemented by objects that can be made permanently read-only.

Classes in freemarker.template.utility used by freemarker.ext.rhino
Class and Description
ObjectWrapperWithAPISupport Experimental - subject to change: Implemented by `ObjectWrapper`-s to help `TemplateModel`-s to implement the `someValue?api` operation.
RichObjectWrapper Experimental - subject to change: Union of the interfaces that a typical feature rich `ObjectWrapper` is expected to implement.
WriteProtectable Implemented by objects that can be made permanently read-only.

Classes in freemarker.template.utility used by freemarker.template
Class and Description
ObjectWrapperWithAPISupport Experimental - subject to change: Implemented by `ObjectWrapper`-s to help `TemplateModel`-s to implement the `someValue?api` operation.
RichObjectWrapper Experimental - subject to change: Union of the interfaces that a typical feature rich `ObjectWrapper` is expected to implement.
WriteProtectable Implemented by objects that can be made permanently read-only.

Classes in freemarker.template.utility used by freemarker.template.utility
Class and Description
DateUtil.CalendarFieldsToDateConverter Used internally by `DateUtil`; don't use its implementations for anything else.
DateUtil.DateParseException
DateUtil.DateToISO8601CalendarFactory Used internally by `DateUtil`; don't use its implementations for anything else.
NullWriter A `Writer` that simply drops what it gets.
ObjectWrapperWithAPISupport Experimental - subject to change: Implemented by `ObjectWrapper`-s to help `TemplateModel`-s to implement the `someValue?api` operation.
StandardCompress A filter that compresses each sequence of consecutive whitespace to a single line break (if the sequence contains a line break) or a single space.
UnrecognizedTimeZoneException Indicates that the time zone name is not recognized.