Introduction

Stage Tag

A component type may declare a dependency on an arbitary number of lifecycle stages. Each stage corresponds to a lifecycle extension that will be applied to the component in the order corresponding to the ordering of stage tags. A container is responsible for the construction and deployment of an extension stage handler (refered to as an extension) capable of servicing the stage dependency.

package net.osm.vault;

import org.apache.avalon.playground.Demonstratable;

/**
 * Example of a component declaring a stage dependency.
 *
 * @avalon.meta.version 0.1
 * @avalon.meta.name extended-component
 * @avalon.meta.stage type="org.apache.avalon.playground.Demonstratable"
 */
public class DemoComponent implements Demonstratable
{
  ...
}

Generated meta-info type descriptor:

<type>
  <info>
    <version>0.1.0</version>
    <name>extended-component</name>
  </info>
  <stages>
    <stage type="org.apache.avalon.plyground.Demonstratable" version="1.0.0"/>
  </stages>
</type>