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

org.araguacaima.commons.exception.aop.ExceptionsAspect Maven / Gradle / Ivy

Go to download

Common utilities is a set of java utilities for managing typical actions when working with enums, files, exceptions, zip/jar files, classes (via Reflection), maps, numbers and so on. Most of the utilities extend functionalities offered by amazing libraries such as: * commons-beanutils (apache) * commons-lang3 (apache) * commons-io (apache) * commons-math3 (apache) * commons-collections4 (apache) * jreversepro (akkumar)

There is a newer version: 1.5.17
Show newest version
/*
 * Copyright 2017 araguacaima
 *
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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.araguacaima.commons.exception.aop;

import org.araguacaima.commons.exception.core.GeneralException;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Component;

/**
 * Provides a way to intercept thrown {@link Throwable} in such a way that it can be wrapped into a new {@link GeneralException}
 * after determining how should be handled such exception using a chain of responsibility pattern.
 *
 * @author Alejandro Manuel Méndez Araguacaima (AMMA) [email protected]
 * 
* Changes:
*
    *
  • 2017-09-07 | (AMMA) | Class creation.
  • *
*
* @see org.araguacaima.commons.exception.MessageHandler */ @Aspect @EnableAspectJAutoProxy @Configurable @Component public class ExceptionsAspect { /** * Catch the exception thrown and wrap it in a new exception * * @throws GeneralException after original exception is handled */ @AfterThrowing(pointcut = "execution(* *..*())", throwing = "ex") public void errorInterceptor(Throwable ex) throws GeneralException { //TODO Call Chain of responsibility } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy