All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.fitbur.mockito.internal.invocation.realmethod.CleanTraceRealMethod Maven / Gradle / Ivy

There is a newer version: 1.0.0
Show newest version
/*
 * Copyright (c) 2007 Mockito contributors
 * This program is made available under the terms of the MIT License.
 */
package com.fitbur.mockito.internal.invocation.realmethod;

import com.fitbur.mockito.internal.creation.util.MockitoMethodProxy;
import com.fitbur.mockito.internal.exceptions.stacktrace.ConditionalStackTraceFilter;

import java.io.Serializable;

/**
 * Provides stack trace filtering on exception.
 */
public class CleanTraceRealMethod implements RealMethod, Serializable {

    private static final long serialVersionUID = 3596550785818938496L;
    private final RealMethod realMethod;

    public CleanTraceRealMethod(MockitoMethodProxy methodProxy) {
        this(new DefaultRealMethod(methodProxy));
    }

    public CleanTraceRealMethod(RealMethod realMethod) {
        this.realMethod = realMethod;
    }

    public Object invoke(Object target, Object[] arguments) throws Throwable {
        try {
            return realMethod.invoke(target, arguments);
        } catch (Throwable t) {
            new ConditionalStackTraceFilter().filter(t);
            throw t;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy