Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *
   *  * Copyright 2010,  Unitils.org
   *  *
   *  * Licensed under the Apache License, Version 2.0 (the "License");
   *  * you may not use this file except in compliance with the License.
   *  * You may obtain a copy of the License at
   *  *
   *  *     http://www.apache.org/licenses/LICENSE-2.0
  *  *
  *  * Unless required by applicable law or agreed to in writing, software
  *  * distributed under the License is distributed on an "AS IS" BASIS,
  *  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  * See the License for the specific language governing permissions and
  *  * limitations under the License.
  *
  */
 package org.unitils.mock.core.matching.impl;
 
 
 import java.util.List;
 
 import static org.unitils.core.util.ObjectFormatter.MOCK_NAME_CHAIN_SEPARATOR;


Author(s):
Tim Ducheyne
Filip Neven
 
 
     protected MockBehavior mockBehavior;
     protected MockFactory mockFactory;
 
 
     public BehaviorDefiningMatchingInvocationHandler(MockBehavior mockBehaviorBehaviorDefiningInvocations behaviorDefiningInvocationsMockFactory mockFactory) {
         this. = mockBehavior;
         this. = behaviorDefiningInvocations;
         this. = mockFactory;
     }
 
 
     public Object handleInvocation(ProxyInvocation proxyInvocationList<ArgumentMatcherargumentMatchersthrows Throwable {
         if ( instanceof ChainedMockBehavior) {
             ((ChainedMockBehavior).installChain();
         }
         BehaviorDefiningInvocation behaviorDefiningInvocation = new BehaviorDefiningInvocation(proxyInvocationargumentMatchers);
         addBehaviorDefiningInvocation(behaviorDefiningInvocation);
         return createChainedMock(proxyInvocationbehaviorDefiningInvocation);
     }
 
 
     protected void addBehaviorDefiningInvocation(BehaviorDefiningInvocation behaviorDefiningInvocationBehaviorDefiningInvocations behaviorDefinition) {
         behaviorDefinition.addBehaviorDefiningInvocation(behaviorDefiningInvocation);
     }
 
 
     protected Object createChainedMock(ProxyInvocation proxyInvocationBehaviorDefiningInvocation behaviorDefiningInvocation) {
         Class<?> innerMockType = proxyInvocation.getMethod().getReturnType();
         String innerMockName = proxyInvocation.getMockName() +  + proxyInvocation.getMethod().getName();
 
         Mock<?> mock = .createChainedMock(innerMockNameinnerMockType);
         if (mock == null) {
             return null;
         }
         return mock.performs(new ChainedMockBehavior(mockbehaviorDefiningInvocation));
     }
 
 
     public static class ChainedMockBehavior implements MockBehavior {
 
         protected Mock<?> mock;
         protected MockBehavior originalMockBehavior;
 
 
         public ChainedMockBehavior(Mock<?> mockBehaviorDefiningInvocation behaviorDefiningInvocation) {
             this. = mock;
             this. = behaviorDefiningInvocation;
             this. = behaviorDefiningInvocation.getMockBehavior();
         }
 
         public void installChain() {
         }
 
         public Object execute(ProxyInvocation proxyInvocationthrows Throwable {
             return .execute(proxyInvocation);
         }
    }
New to GrepCode? Check out our FAQ X