org.springframework.session.data.gemfire.config.annotation.web.http.support

## Class SessionAttributesIndexFactoryBean

- java.lang.Object
- - org.springframework.session.data.gemfire.config.annotation.web.http.support.SessionAttributesIndexFactoryBean

All Implemented Interfaces:
  org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.FactoryBean<org.apache.geode.cache.query.Index>, org.springframework.beans.factory.InitializingBean

    public class SessionAttributesIndexFactoryBean
    extends java.lang.Object
    implements org.springframework.beans.factory.FactoryBean<org.apache.geode.cache.query.Index>, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware

The SessionAttributesIndexFactoryBean class is a Spring `FactoryBean` that creates a GemFire `Index` on the session attributes of the `HttpSession` object.

Since:
  1.3.0
See Also:
  `BeanFactoryAware`, `BeanNameAware`, `FactoryBean`, `InitializingBean`, `Index`

### Field Summary

Fields
`protected static java.lang.String[]` `DEFAULT_INDEXABLE_SESSION_ATTRIBUTES`

### Constructor Summary

Constructors
Constructor and Description
`SessionAttributesIndexFactoryBean()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `afterPropertiesSet()`
`protected java.lang.String[]` `getIndexableSessionAttributes()`
`protected java.lang.String` `getIndexableSessionAttributesAsGemFireIndexExpression()` Gets the names of all Session attributes that will be indexed by GemFire as single, comma-delimited String value constituting the Index expression of the Index definition.
`org.apache.geode.cache.query.Index` `getObject()`
`java.lang.Class<?>` `getObjectType()`
`protected java.lang.String` `getRegionName()`
`protected boolean` `isIndexableSessionAttributesConfigured()` Determines whether any indexable Session attributes were configured for this `FactoryBean`.
`boolean` `isSingleton()`
`protected org.apache.geode.cache.query.Index` `newIndex()` Constructs a GemFire `Index` over the attributes of the `HttpSession`.
`void` `setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)`
`void` `setBeanName(java.lang.String beanName)`
`void` `setGemFireCache(org.apache.geode.cache.GemFireCache gemfireCache)`
`void` `setIndexableSessionAttributes(java.lang.String[] indexableSessionAttributes)`
`void` `setRegionName(java.lang.String regionName)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DEFAULT_INDEXABLE_SESSION_ATTRIBUTES

    protected static final java.lang.String[] DEFAULT_INDEXABLE_SESSION_ATTRIBUTES

### Constructor Detail

#### SessionAttributesIndexFactoryBean

    public SessionAttributesIndexFactoryBean()

### Method Detail

#### afterPropertiesSet

    public void afterPropertiesSet()
                            throws java.lang.Exception

Specified by:
  `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
Throws:
  `java.lang.Exception`

#### isIndexableSessionAttributesConfigured

    protected boolean isIndexableSessionAttributesConfigured()

Determines whether any indexable Session attributes were configured for this `FactoryBean`.

Returns:
  a boolean value indicating whether any indexable Session attributes were configured for this `FactoryBean`
See Also:
  `setIndexableSessionAttributes(String[])`

#### newIndex

    protected org.apache.geode.cache.query.Index newIndex()
                                                   throws java.lang.Exception

Constructs a GemFire `Index` over the attributes of the `HttpSession`.

Returns:
  a GemFire `Index` over the `HttpSession` attributes.
Throws:
  `java.lang.Exception` - if an error occurs while initializing the GemFire `Index`.
See Also:
  `IndexFactoryBean`

#### getIndexableSessionAttributesAsGemFireIndexExpression

    protected java.lang.String getIndexableSessionAttributesAsGemFireIndexExpression()

Gets the names of all Session attributes that will be indexed by GemFire as single, comma-delimited String value constituting the Index expression of the Index definition.

Returns:
  a String composed of all the named Session attributes for which GemFire will create an Index as an Index definition expression. If the indexable Session attributes were not configured, then the wildcard ("*") is returned.
See Also:
  `Index.getIndexedExpression()`

#### getObject

    public org.apache.geode.cache.query.Index getObject()
                                                 throws java.lang.Exception

Specified by:
  `getObject` in interface `org.springframework.beans.factory.FactoryBean<org.apache.geode.cache.query.Index>`
Throws:
  `java.lang.Exception`

#### getObjectType

    public java.lang.Class<?> getObjectType()

Specified by:
  `getObjectType` in interface `org.springframework.beans.factory.FactoryBean<org.apache.geode.cache.query.Index>`

#### isSingleton

    public boolean isSingleton()

Specified by:
  `isSingleton` in interface `org.springframework.beans.factory.FactoryBean<org.apache.geode.cache.query.Index>`

#### setBeanFactory

    public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
                        throws org.springframework.beans.BeansException

Specified by:
  `setBeanFactory` in interface `org.springframework.beans.factory.BeanFactoryAware`
Throws:
  `org.springframework.beans.BeansException`

#### setBeanName

    public void setBeanName(java.lang.String beanName)

Specified by:
  `setBeanName` in interface `org.springframework.beans.factory.BeanNameAware`

#### setGemFireCache

    public void setGemFireCache(org.apache.geode.cache.GemFireCache gemfireCache)

#### setIndexableSessionAttributes

    public void setIndexableSessionAttributes(java.lang.String[] indexableSessionAttributes)

#### getIndexableSessionAttributes

    protected java.lang.String[] getIndexableSessionAttributes()

#### setRegionName

    public void setRegionName(java.lang.String regionName)

#### getRegionName

    protected java.lang.String getRegionName()