org.codehaus.plexus.component.annotations

## Annotation Type Component

    @Documented
     @Retention(value=RUNTIME)
     @Target(value=TYPE)
     @Inherited
    public @interface Component

Marks a class as a Plexus component.

Version:
  $Id: Component.java 6920 2007-10-01 04:15:36Z user57 $

### Required Element Summary

Required Elements
`java.lang.Class<?>` `role`

### Optional Element Summary

Optional Elements
`java.lang.String` `alias`
`java.lang.String` `composer`
`java.lang.String` `configurator`
`java.lang.String` `description`
`java.lang.String` `factory`
`java.lang.String` `hint`
`java.lang.String` `instantiationStrategy`
`boolean` `isolatedRealm`
`java.lang.String` `lifecycleHandler`
`java.lang.String` `profile`
`java.lang.String` `type`
`java.lang.String` `version`

### Element Detail

#### role

    public abstract java.lang.Class<?> role

#### hint

    public abstract java.lang.String hint

Default:
  ""

#### version

    public abstract java.lang.String version

Default:
  ""

#### alias

    public abstract java.lang.String alias

Default:
  ""

#### description

    public abstract java.lang.String description

Default:
  ""

#### lifecycleHandler

    public abstract java.lang.String lifecycleHandler

Default:
  ""

#### instantiationStrategy

    public abstract java.lang.String instantiationStrategy

Default:
  ""

#### factory

    public abstract java.lang.String factory

Default:
  ""

#### type

    public abstract java.lang.String type

Default:
  ""

#### profile

    public abstract java.lang.String profile

Default:
  ""

#### composer

    public abstract java.lang.String composer

Default:
  ""

#### configurator

    public abstract java.lang.String configurator

Default:
  ""

#### isolatedRealm

    public abstract boolean isolatedRealm

Default:
  false