blob: b61ce893ca26f57647b9ce6d087ca8426da6ad63 [file] [log] [blame]
-----
Plexus Component Descriptor Creator
-----
Trygve LaugstΓΈl
-----
25th May 2005
-----
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html
Plexus Component Descriptor Creator
<<NOTE: This document and the CDC itself is currently a work in progres.>>
The Component Descriptor Creator (or CDC for short) is a tool that will create
the <<<components.xml>>> file from your Java code. It uses a set of JavaDoc
tags to gather the information it needs to create the component descriptor.
* Component Tags
*-------------------------------*--------------*---------------------------------------------*
| <<Tag>> | <<Required>> | <<Description>> |
*-------------------------------*---*--------------------------------------------------------*
| @plexus.component | y | Marker tag to mark a class as a Plexus component. |
*-------------------------------*---*--------------------------------------------------------*
| @plexus.role | y | The role of the component. |
*-------------------------------*---*--------------------------------------------------------*
| @plexus.version | n | The component version. |
*-------------------------------*---*--------------------------------------------------------*
| @plexus.lifecycle-handler | n | The lifecycle handler of the component. |
*-------------------------------*---*--------------------------------------------------------*
| @plexus.instatiation-strategy | n | The instantiation strategy of the component. |
*-------------------------------*---*--------------------------------------------------------*
+---+
/**
* @plexus.component
* @plexus.lifecycle-handler plexus-configurable
*/
public class DefaultActionManager
extends AbstractLogEnabled
implements ActionManager, Serviceable
{
+---+
~~ [example-class-tags] Example Class Tags
* Requirement Tags
These tags are used on fields to state requirements.
*-------------------------------*----------------*-------------------------------------------*
| <<Tag>> | <<Required>> | <<Description>> |
*-------------------------------*-----*------------------------------------------------------*
| @plexus.requirement | y | Marker tag to mark this field as requirement |
*-------------------------------*-----*------------------------------------------------------*
| @plexus.role | y/n | Only required if the field is a List or Map |
*-------------------------------*-----*------------------------------------------------------*
| @plexus.role-hint | n | |
*-------------------------------*-----*------------------------------------------------------*
+---+
/**
* @plexus.requirement
*/
private ActionManager actionManager;
+---+
~~ [example-requirement-tags] Example Requirement Tags
* Configuration Tags
Note that the default value tag won't be required in the future when these
tags will be used to generate a separate configuration declaration section.
*-------------------------------*--------------*---------------------------------------------*
| <<Tag>> | <<Required>> | <<Description>> |
*-------------------------------*---*--------------------------------------------------------*
| @plexus.configuration | y | Marker tag to mark this field as configureable |
*-------------------------------*---*--------------------------------------------------------*
| @plexus.default-value | y | Sets the default value for the configuration field |
*-------------------------------*---*--------------------------------------------------------*
+---+
/**
* @plexus.requirement
* @plexus.role-hint velocity
*/
private Renderer renderer;
+---+
~~ [example-requirement-tags] Example Requirement Tags