org.apache.velocity.tools.view

## Class WebappUberspector

- java.lang.Object
- - org.apache.velocity.util.introspection.UberspectImpl
  - - org.apache.velocity.util.introspection.AbstractChainableUberspector
    - - org.apache.velocity.tools.view.WebappUberspector

All Implemented Interfaces:
  org.apache.velocity.util.introspection.ChainableUberspector, org.apache.velocity.util.introspection.Uberspect, org.apache.velocity.util.RuntimeServicesAware

    public class WebappUberspector
    extends org.apache.velocity.util.introspection.AbstractChainableUberspector

This custom uberspector allows getAttribute() and setAttribute() as standard getters and setters for the "request","session" and "application" keys.

It allows VTL statements like:

     #set($session.foo = 'youpi')
     session parameter 'foo' has value: $session.foo

This uberspector requires Velocity 1.6+ ; to use it, you must specify `org.apache.velocity.tools.view.WebappUberspector` as the last uberspector to the `runtime.introspector.uberspect` property in you `velocity.properties` file.

For instance:

`runtime.introspector.uberspect = org.apache.velocity.util.introspection.UberspectImpl,org.apache.velocity.tools.view.WebappUberspector`

Version:
  $Id: WebappUberspector.java $
Author:
  Claude Brisson

### Nested Class Summary

Nested Classes
`class` `WebappUberspector.GetAttributeExecutor` Executor for getAttribute(name) method.
`class` `WebappUberspector.SetAttributeExecutor` Executor for setAttribute(name,value) method

### Nested classes/interfaces inherited from class org.apache.velocity.util.introspection.UberspectImpl

`org.apache.velocity.util.introspection.UberspectImpl.VelGetterImpl, org.apache.velocity.util.introspection.UberspectImpl.VelMethodImpl, org.apache.velocity.util.introspection.UberspectImpl.VelSetterImpl`

### Field Summary

### Fields inherited from class org.apache.velocity.util.introspection.AbstractChainableUberspector

`inner`

### Fields inherited from class org.apache.velocity.util.introspection.UberspectImpl

`conversionHandler, introspector, log, rsvc`

### Constructor Summary

Constructors
Constructor and Description
`WebappUberspector()`

### Method Summary

All Methods Instance Methods Concrete Methods
`org.apache.velocity.util.introspection.VelPropertyGet` `getPropertyGet(Object obj, String identifier, org.apache.velocity.util.introspection.Info i)` Property getter
`org.apache.velocity.util.introspection.VelPropertySet` `getPropertySet(Object obj, String identifier, Object arg, org.apache.velocity.util.introspection.Info i)` Property setter
`void` `init()` init method

### Methods inherited from class org.apache.velocity.util.introspection.AbstractChainableUberspector

`getIterator, getMethod, wrap`

### Methods inherited from class org.apache.velocity.util.introspection.UberspectImpl

`getConversionHandler, setLog, setRuntimeServices`

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

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

### Constructor Detail

#### WebappUberspector

    public WebappUberspector()

### Method Detail

#### getPropertyGet

    public org.apache.velocity.util.introspection.VelPropertyGet getPropertyGet(Object obj,
                                                                                String identifier,
                                                                                org.apache.velocity.util.introspection.Info i)

Property getter

Specified by:
  `getPropertyGet` in interface `org.apache.velocity.util.introspection.Uberspect`
Overrides:
  `getPropertyGet` in class `org.apache.velocity.util.introspection.AbstractChainableUberspector`
Parameters:
  `obj` - target object
  `identifier` - property key
  `i` - tool info
Returns:
  A Velocity Getter Method.

#### init

    public void init()

init method

Specified by:
  `init` in interface `org.apache.velocity.util.introspection.Uberspect`
Overrides:
  `init` in class `org.apache.velocity.util.introspection.AbstractChainableUberspector`

#### getPropertySet

    public org.apache.velocity.util.introspection.VelPropertySet getPropertySet(Object obj,
                                                                                String identifier,
                                                                                Object arg,
                                                                                org.apache.velocity.util.introspection.Info i)

Property setter

Specified by:
  `getPropertySet` in interface `org.apache.velocity.util.introspection.Uberspect`
Overrides:
  `getPropertySet` in class `org.apache.velocity.util.introspection.AbstractChainableUberspector`
Parameters:
  `obj` - target object
  `identifier` - property key
  `arg` - value to set
  `i` - tool info
Returns:
  A Velocity Setter method.