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

tech.harmonysoft.oss.traute.javac.instrumentation.InstrumentationInfo Maven / Gradle / Ivy

There is a newer version: 1.1.10
Show newest version
package tech.harmonysoft.oss.traute.javac.instrumentation;

import org.jetbrains.annotations.NotNull;
import tech.harmonysoft.oss.traute.javac.common.CompilationUnitProcessingContext;
import tech.harmonysoft.oss.traute.common.instrumentation.InstrumentationType;

/**
 * Holds information necessary to perform instrumentation.
 */
public interface InstrumentationInfo {

    /**
     * @return  instrumentation type of the data stored in the current object
     */
    @NotNull
    InstrumentationType getType();

    /**
     * @return current compilation unit processing context
     */
    @NotNull
    CompilationUnitProcessingContext getContext();

    /**
     * @return {@code NotNull} annotation for which an instrumentation should happen (if any)
     */
    String getNotNullAnnotation();

    /**
     * @return {@code NotNullByDefault} annotation description which implies the instrumentation (if any)
     */
    String getNotNullByDefaultAnnotationDescription();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy