Save This Page
Home » tapestry-src-5.0.19 » org.apache.tapestry5.internal.services » [javadoc | source]
    1   // Copyright 2007, 2008 The Apache Software Foundation
    2   //
    3   // Licensed under the Apache License, Version 2.0 (the "License");
    4   // you may not use this file except in compliance with the License.
    5   // You may obtain a copy of the License at
    6   //
    7   //     http://www.apache.org/licenses/LICENSE-2.0
    8   //
    9   // Unless required by applicable law or agreed to in writing, software
   10   // distributed under the License is distributed on an "AS IS" BASIS,
   11   // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   12   // See the License for the specific language governing permissions and
   13   // limitations under the License.
   14   
   15   package org.apache.tapestry5.internal.services;
   16   
   17   import org.apache.tapestry5.services;
   18   
   19   import java.io.IOException;
   20   
   21   /**
   22    * A filter that intercepts Ajax-oriented requests, thos that originate on the client-side using XmlHttpRequest. In
   23    * these cases, the action processing occurs normally, but the response is quite different.
   24    */
   25   public class AjaxFilter implements ComponentEventRequestFilter
   26   {
   27       private final Request request;
   28   
   29       private final ComponentEventRequestHandler ajaxHandler;
   30   
   31       public AjaxFilter(Request request, @Ajax ComponentEventRequestHandler ajaxHandler)
   32       {
   33           this.request = request;
   34           this.ajaxHandler = ajaxHandler;
   35       }
   36   
   37       public void handle(ComponentEventRequestParameters parameters, ComponentEventRequestHandler handler)
   38               throws IOException
   39       {
   40           ComponentEventRequestHandler next = request.isXHR() ? ajaxHandler : handler;
   41   
   42           next.handle(parameters);
   43       }
   44   
   45   }

Save This Page
Home » tapestry-src-5.0.19 » org.apache.tapestry5.internal.services » [javadoc | source]