Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Fabric3
   * Copyright (c) 2009 Metaform Systems
   *
   * Fabric3 is free software: you can redistribute it and/or modify
   * it under the terms of the GNU General Public License as
   * published by the Free Software Foundation, either version 3 of
   * the License, or (at your option) any later version, with the
   * following exception:
  *
  * Linking this software statically or dynamically with other
  * modules is making a combined work based on this software.
  * Thus, the terms and conditions of the GNU General Public
  * License cover the whole combination.
  *
  * As a special exception, the copyright holders of this software
  * give you permission to link this software with independent
  * modules to produce an executable, regardless of the license
  * terms of these independent modules, and to copy and distribute
  * the resulting executable under terms of your choice, provided
  * that you also meet, for each linked independent module, the
  * terms and conditions of the license of that module. An
  * independent module is a module which is not derived from or
  * based on this software. If you modify this software, you may
  * extend this exception to your version of the software, but
  * you are not obligated to do so. If you do not wish to do so,
  * delete this exception statement from your version.
  *
  * Fabric3 is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  * See the GNU General Public License for more details.
  *
  * You should have received a copy of the
  * GNU General Public License along with Fabric3.
  * If not, see <http://www.gnu.org/licenses/>.
  *
  * ----------------------------------------------------
  *
  * Portions originally based on Apache Tuscany 2007
  * licensed under the Apache 2.0 license.
  *
  */
 package org.fabric3.fabric.wire;
 
Default implementation of an invocation chain

Version:
$Rev: 7114 $ $Date: 2009-06-14 20:07:59 +0200 (Sun, 14 Jun 2009) $
 
 public class InvocationChainImpl implements InvocationChain {
     protected Interceptor interceptorChainHead;
     protected Interceptor interceptorChainTail;
 
     public InvocationChainImpl(PhysicalOperationDefinition operation) {
         this. = operation;
     }
 
         return ;
     }
 
     public void addInterceptor(Interceptor interceptor) {
         if ( == null) {
              = interceptor;
         } else {
             .setNext(interceptor);
         }
          = interceptor;
     }
 
     public void addInterceptor(int indexInterceptor interceptor) {
         int i = 0;
         Interceptor next = ;
         Interceptor prev = null;
         while (next != null && i < index) {
             prev = next;
             next = next.getNext();
             i++;
         }
         if (i == index) {
             if (prev != null) {
                 prev.setNext(interceptor);
             } else {
                  = interceptor;
             }
             interceptor.setNext(next);
             if (next == null) {
                  = interceptor;
             }
         } else {
             throw new ArrayIndexOutOfBoundsException(index);
         }
     }
    public Interceptor getHeadInterceptor() {
        return ;
    }
    public Interceptor getTailInterceptor() {
        return ;
    }
New to GrepCode? Check out our FAQ X