Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts2.config
Class BeanSelectionProvider

    java.lang.Object
      org.apache.struts2.config.BeanSelectionProvider

All Implemented Interfaces:
  ConfigurationProvider, ContainerProvider, PackageProvider

    public class BeanSelectionProvider

extends java.lang.Object
implements ConfigurationProvider

Selects the implementations of key framework extension points, using the loaded property constants. The implementations are selected from the container builder using the name defined in its associated property. The default implementation name will always be "struts".

The following is a list of the allowed extension points:

Type | Property | Scope | Description
--- | --- | --- | ---
com.opensymphony.xwork2.ObjectFactory | struts.objectFactory | singleton | Creates actions, results, and interceptors
com.opensymphony.xwork2.ActionProxyFactory | struts.actionProxyFactory | singleton | Creates the ActionProxy
com.opensymphony.xwork2.util.ObjectTypeDeterminer | struts.objectTypeDeterminer | singleton | Determines what the key and element class of a Map or Collection should be
org.apache.struts2.dispatcher.mapper.ActionMapper | struts.mapper.class | singleton | Determines the ActionMapping from a request and a URI from an ActionMapping
org.apache.struts2.dispatcher.multipart.MultiPartRequest | struts.multipart.parser | per request | Parses a multipart request (file upload)
org.apache.struts2.views.freemarker.FreemarkerManager | struts.freemarker.manager.classname | singleton | Loads and processes Freemarker templates
org.apache.struts2.views.velocity.VelocityManager | struts.velocity.manager.classname | singleton | Loads and processes Velocity templates
com.opensymphony.xwork2.validator.ActionValidatorManager | struts.actionValidatorManager | singleton | Main interface for validation managers (regular and annotation based). Handles both the loading of configuration and the actual validation (since 2.1)
com.opensymphony.xwork2.util.ValueStackFactory | struts.valueStackFactory | singleton | Creates value stacks (since 2.1)
com.opensymphony.xwork2.reflection.ReflectionProvider | struts.reflectionProvider | singleton | Provides reflection services, key place to plug in a custom expression language (since 2.1)
com.opensymphony.xwork2.reflection.ReflectionContextFactory | struts.reflectionContextFactory | singleton | Creates reflection context maps used for reflection and expression language operations (since 2.1)
com.opensymphony.xwork2.config.PackageProvider | N/A | singleton | All beans registered as PackageProvider implementations will be automatically included in configuration building (since 2.1)
com.opensymphony.xwork2.util.PatternMatcher | struts.patternMatcher | singleton | Matches patterns, such as action names, generally used in configuration (since 2.1)
org.apache.struts2.views.dispatcher.DefaultStaticContentLoader | struts.staticContentLoader | singleton | Loads static resources (since 2.1)

Implementations are selected using the value of its associated property. That property is used to determine the implementation by:

1. Trying to find an existing bean by that name in the container
2. Trying to find a class by that name, then creating a new bean factory for it
3. Creating a new delegation bean factory that delegates to the configured ObjectFactory at runtime

Finally, this class overrides certain properties if dev mode is enabled:

- `struts.i18n.reload = true`
- `struts.configuration.xml.reload = true`

Field Summary
`static java.lang.String` | `DEFAULT_BEAN_NAME`

Constructor Summary
`BeanSelectionProvider()`

Method Summary
`void` | `destroy()`
`void` | `init(Configuration configuration)`
`void` | `loadPackages()`
`boolean` | `needsReload()`
`void` | `register(ContainerBuilder builder, LocatableProperties props)`

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

Field Detail

### DEFAULT_BEAN_NAME

    public static final java.lang.String DEFAULT_BEAN_NAME

See Also:
  Constant Field Values

Constructor Detail

### BeanSelectionProvider

    public BeanSelectionProvider()

Method Detail

### destroy

    public void destroy()

  Specified by:
    `destroy` in interface `ContainerProvider`

### loadPackages

    public void loadPackages()
                      throws ConfigurationException

  Specified by:
    `loadPackages` in interface `PackageProvider`
  Throws:
    `ConfigurationException`

### init

    public void init(Configuration configuration)
              throws ConfigurationException

  Specified by:
    `init` in interface `ContainerProvider`
  Specified by:
    `init` in interface `PackageProvider`
  Throws:
    `ConfigurationException`

### needsReload

    public boolean needsReload()

  Specified by:
    `needsReload` in interface `ContainerProvider`
  Specified by:
    `needsReload` in interface `PackageProvider`

### register

    public void register(ContainerBuilder builder,
                         LocatableProperties props)

  Specified by:
    `register` in interface `ContainerProvider`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.