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

net.cassite.pure.aop.Weaver Maven / Gradle / Ivy

The newest version!
package net.cassite.pure.aop;

/**
 * interface for weavers. this interface is an 'Around' AOP. implement other interfaces if you want to do 'Introduction'.
 *
 * @param  target object type
 * @since 0.2.1
 */
public interface Weaver {
        /**
         * before invoking the method
         *
         * @param point aop point
         */
        void doBefore(AOPPoint point);

        /**
         * after the method returned
         *
         * @param point aop point
         */
        void doAfter(AOPPoint point);

        /**
         * after throwing
         *
         * @param point aop point
         * @throws Throwable possible exceptions
         */
        void doException(AOPPoint point) throws Throwable;

        /**
         * invoke when it's destroyed
         *
         * @param target target object
         * @since 0.3.1
         */
        void doDestroy(T target);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy