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

com.appland.appmap.transform.annotations.HookClass Maven / Gradle / Ivy

package com.appland.appmap.transform.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Classes matching this annotation will be hooked.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface HookClass {
  /**
   * Identifies the name of a class of which a hook shall be applied if the method name and its
   * parameters are applicable.
   * @return The fully qualified name of a class
   */
  public String value() default "";

  /**
   * If set, overrides the method name to apply a hook to. By default, the name of the method this
   * annotation is attached to will be used.
   * @return A method name to apply this hook to.
   */
  public String method() default "";
  public MethodEvent methodEvent() default MethodEvent.METHOD_INVOCATION;

  public int position() default ISystem.HOOK_POSITION_DEFAULT;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy