# Apache Tamaya — Extension Modules

Anatole Tresch
<anatole@apache.org>
version 0.1-incubating, March 2015
Incubator

## 1. Tamaya Examples

### 1.1. Minimal

This example shows the basic functionality that is available when Tamaya is used without any further extensions. It shows how configuration can be added to the classpath and how it can be accessed.

### 1.2. Simple PropertySource

This example shows how to write and register an additional `PropertySource` and `PropertySourceProvider`, which is the SPI to add your own configuration data and locations. For a more advanced example you may also have a look at the provided default metamodels, e.g. the simple metamodel (currently in the experimental part and not shipped with the current release).

### 1.3. Resources

This example shows how resources can be located using ANT-styled paths and this feature can help you to implement `PropertySourceProvider` instances that provide configuration for a set of files/folders at a certain (searchable) location, as provided by the resource extension_.

### 1.4. Resolver

The resolver example defines a configuration file that illustrates the usage of placeholders that are resolved on configuration access, as provided by the resolver extension.

### 1.5. Injection

The injection sample shows how to inject configuration into a created object instance, or how to instantiate a proxied configuration template, which provides a type-safe configuration access mechanism. This functionality is provided by the injection extension. Hereby neither JSR 330 nor 299 are used, so it is pure and minimal SE based implementation.

### 1.6. FileObserver

This example shows how the `event extension` can be used to automatically adapt the current configuration when the underlying configuration data is changing, e.g. when new configuration is added to a file folder, or removed or adapted.

### 1.7. Builder

This example shows how to build a `Configuration` using a simple pure SE builder API as provided by the builder extension.