Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (c) 2010-2011. Axon Framework
  *
  * 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.axonframework.commandhandling;
Mechanism that takes care of interceptor and event handler execution.

Author(s):
Allard Buijze
Since:
0.5
public class DefaultInterceptorChain implements InterceptorChain {
    private final Object command;
    private final CommandHandler handler;
    private Iterator<? extends CommandHandlerInterceptorchain;
    private UnitOfWork unitOfWork;

    
Initialize the default interceptor chain to dispatch the given command, through the chain, to the handler.

Parameters:
command The command to dispatch through the interceptor chain
unitOfWork The UnitOfWork the command is executed in
handler The handler for the command
chain The interceptor composing the chain
    public DefaultInterceptorChain(Object commandUnitOfWork unitOfWorkCommandHandler<?> handler,
                                   Iterable<? extends CommandHandlerInterceptorchain) {
        this. = command;
        this. = handler;
        this. = chain.iterator();
        this. = unitOfWork;
    }

    
    @SuppressWarnings({"unchecked"})
    @Override
    public Object proceed(Object commandProceedWiththrows Throwable {
        if (.hasNext()) {
            return .next().handle(commandProceedWiththis);
        } else {
            return .handle(commandProceedWith);
        }
    }
    @Override
    public Object proceed() throws Throwable {
        return proceed();
    }
New to GrepCode? Check out our FAQ X