Package javax.annotation

## Annotation Type Resource

    @Target({TYPE,METHOD,FIELD})
    @Retention(RUNTIME)
    @Repeatable(Resources.class)
    public @interface Resource

Indicates a resource required by the application. Annotated classes will be used as resources. Annotated fields and/or methods will have resources injected.

Since:
  Common Annotations 1.0

### Optional Element Summary

Optional Elements
`Resource.AuthenticationType` `authenticationType`
`java.lang.String` `description`
`java.lang.String` `lookup`
`java.lang.String` `mappedName`
`java.lang.String` `name`
`boolean` `shareable`
`java.lang.Class<?>` `type` Uses generics since Common Annotations 1.2.

### Element Detail

#### name

    java.lang.String name

Returns:
  a String with the name of the resource

Default:
  ""

#### type

    java.lang.Class<?> type

Uses generics since Common Annotations 1.2.

Returns:
  The type for instances of this resource

Default:
  java.lang.Object.class

#### authenticationType

    Resource.AuthenticationType authenticationType

Returns:
  the AuthenticationType of the resource default CONTAINER

Default:
  javax.annotation.Resource.AuthenticationType.CONTAINER

#### shareable

    boolean shareable

Returns:
  true (default) if the resource is shareable, or false if not

Default:
  true

#### description

    java.lang.String description

Returns:
  a string with the description for the resource

Default:
  ""

#### mappedName

    java.lang.String mappedName

Returns:
  a string with the mappedName of the resource

Default:
  ""

#### lookup

    java.lang.String lookup

Returns:
  The name of the entry, if any, to use for this resource
Since:
  Common Annotations 1.1

Default:
  ""