## 2.5. The util package

The `org.olat.util` package provides helpder classes and their functionality used throughout the framework, the managers and the controllers. Following you'll find a brief outline of utility classes whcih might be helpful if you are developping with OLAT.

- `org.olat.util.bulk`: TODO:alex

- `org.olat.util.cache`: Package which provides some implementation of caches used by the DB abstraction layer, the group management and the base security package. See the section on caches for details.

- `org.olat.util.component`: TODO:alex

- `org.olat.util.controller`: TODO:alex

- `org.olat.util.event`: Package which provides a simple event handling system, described in more detail in the section on events.

- `org.olat.util.i18n`: This package handles all i18n within OLAT. See the section on i18n for details.

- `org.olat.util.locks`: Package which provides a manager to handle locks. A workflow may set/remove locks to prevent multiple users from accessing some functionality within OLAT. Locks are persisted accross sessions.

- `org.olat.util.mail`: Contains `Emailer`, a class providing basic email functionality.

- `org.olat.util.memento`: TODO:alex

- `org.olat.util.nodes`: Provides classes to represent a simple node structure and a helper class `NodeHelper` to manipulate such structures.

- `org.olat.util.prefs`: Package whcih provides structures persistence classes for handling various persistent preferences.

- `org.olat.util.radeox`: Package extending the Radeox wiki markup.

- `org.olat.util.rss`: Helper classes for handling RSS data.

- `org.olat.util.storage`: TODO:alex

- `org.olat.util.traversal`: Package providing helpder classes for traversing structures.

- `org.olat.util.tree`: Package providing helpder classess to work on tree structures.

- `org.olat.util.vfs`: Implementation of the virtual filesystem. See section on virtual filesystem for details.

- `org.olat.util.xml`: TODO:alex