## org.springframework.context.annotation
Class AnnotationScopeMetadataResolver

    java.lang.Object
      org.springframework.context.annotation.AnnotationScopeMetadataResolver

All Implemented Interfaces:
  ScopeMetadataResolver

    public class AnnotationScopeMetadataResolver

extends Object
implements ScopeMetadataResolver

A `ScopeMetadataResolver` implementation that (by default) checks for the presence of the `Scope` annotation on the bean class.

The exact type of annotation that is checked for is configurable via the `setScopeAnnotationType(Class)` property.

Since:
  2.5
Author:
  Mark Fisher, Juergen Hoeller
See Also:
  `Scope`

Constructor Summary
`AnnotationScopeMetadataResolver()` Create a new instance of the `AnnotationScopeMetadataResolver` class.
`AnnotationScopeMetadataResolver(ScopedProxyMode scopedProxyMode)` Create a new instance of the `AnnotationScopeMetadataResolver` class.

Method Summary
`ScopeMetadata` `resolveScopeMetadata(BeanDefinition definition)` Resolve the `ScopeMetadata` appropriate to the supplied bean `definition`.
`void` `setScopeAnnotationType(Class<? extends Annotation> scopeAnnotationType)` Set the type of annotation that is checked for by this `AnnotationScopeMetadataResolver`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AnnotationScopeMetadataResolver

    public AnnotationScopeMetadataResolver()

  Create a new instance of the `AnnotationScopeMetadataResolver` class.

  See Also:
    `AnnotationScopeMetadataResolver(ScopedProxyMode)`, `ScopedProxyMode.NO`

### AnnotationScopeMetadataResolver

    public AnnotationScopeMetadataResolver(ScopedProxyMode scopedProxyMode)

  Create a new instance of the `AnnotationScopeMetadataResolver` class.

  Parameters:
    `scopedProxyMode` - the desired scoped-proxy mode

Method Detail

### setScopeAnnotationType

    public void setScopeAnnotationType(Class<? extends Annotation> scopeAnnotationType)

  Set the type of annotation that is checked for by this `AnnotationScopeMetadataResolver`.

  Parameters:
    `scopeAnnotationType` - the target annotation type

### resolveScopeMetadata

    public ScopeMetadata resolveScopeMetadata(BeanDefinition definition)

  Description copied from interface: `ScopeMetadataResolver`
  Resolve the `ScopeMetadata` appropriate to the supplied bean `definition`.

  Implementations can of course use any strategy they like to determine the scope metadata, but some implementations that spring immediately to mind might be to use source level annotations present on `the class` of the supplied `definition`, or to use metadata present in the `AttributeAccessor.attributeNames()` of the supplied `definition`.

  Specified by:
    `resolveScopeMetadata` in interface `ScopeMetadataResolver`
  Parameters:
    `definition` - the target bean definition
  Returns:
    the relevant scope metadata; never `null`

Copyright © 2002-2008 The Spring Framework.