| ----- |
| 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 |