Class WebappUberspector

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

    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 
      Modifier and Type Class Description
      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

        introspector, log
    • 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)
                                                                             throws Exception
        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 -
        identifier -
        i -
        Returns:
        A Velocity Getter Method.
        Throws:
        Exception
      • 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)
                                                                             throws Exception
        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 -
        identifier -
        arg -
        i -
        Returns:
        A Velocity Setter method.
        Throws:
        Exception