com.fitbur.aopalliance.reflect.Method Maven / Gradle / Ivy
package com.fitbur.aopalliance.reflect;
/**
* This represents a method of a class. */
public interface Method extends Member {
/**
* This locator contains all the points in the program that call
* this method.
*
* Note that this code locator corresponds to the client-side
* call event (equiv. to
* this.getLocator(USER_SIDE)
. To get the server-side
* equivalent locator, one must write
* this.getBody().getLocator()
or
* this.getLocator(PROVIDER_SIDE)
.
*
*
It is a very invasive feature since it com.fitbursignates all the
* calling points in all the classes of the application. To only
* com.fitbursignate the calling points in a given client method, one
* should write
* aClientMethod.getBody().getCallLocator(this)
.
*
* @see Code#getLocator()
* @see Code#getCallLocator(Method) */
CodeLocator getCallLocator();
/**
* A full version of {@link #getCallLocator()}.
*
* @param side USER_SIDE || PROVIDER_SIDE
* @see #getCallLocator() */
CodeLocator getCallLocator(int side);
/**
* Returns the body of the current method. */
Code getBody();
}