link
Avalon
Javadoc Tag Specification
Home PlanetProductsCentral
Javadoc Tags
Service Tag

The service tag when used within a class declares the ability of the compoent type to export one or more work interfaces. Under class scope a component may declare 0..n service export declarations. When used within an interface, the tag declares the interface as a managable service. A service tag may appear once in a interface defintion.

Attributes
AttributeRequiredDescription
typerequired in class scope

The service interface classname. This attribute is automatically assigned the interface classname when declared in an interface.

versionno

The service version. If not declared the service export is assumed to be version 1.0.

Example
package org.apache.avalon.playground;

/**
 * Example of a component declaring export of a set of services.  
 *
 * @avalon.component version="5.1" name="vault"
 * @avalon.service type="somwhere.Vault;
 * @avalon.service type="somwhere.KeystoreHandler" version="2.1.1;
 */
public class DefaultVault implements Vault, KeystoreHandler
{
  ...
}

Generated meta-info type descriptor:

<type>
  <info>
    <version>5.1.0</version>
    <name>vault</name>
  </info>
  <services>
    <service type="somwhere.Vault" version="1.0.0"/>
    <service type="somwhere.KeystoreHandler" version="2.1.1"/>
  </services>
</type>