com.atlassian.clover.api.instrumentation

## Interface InstrumentationSession

-     public interface InstrumentationSession

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.atlassian.clover.registry.entities.FullBranchInfo` | `addBranch(ContextSet context, SourceInfo region, boolean instrumented, int complexity, LanguageConstruct construct)`
    `com.atlassian.clover.registry.entities.FullStatementInfo` | `addStatement(ContextSet context, SourceInfo region, int complexity, LanguageConstruct construct)`
    `void` | `close()`
    `ClassInfo` | `enterClass(java.lang.String name, SourceInfo region, ModifiersInfo modifiers, boolean isInterface, boolean isEnum, boolean isAnnotation)`
    `FileInfo` | `enterFile(java.lang.String packageName, java.io.File file, int lineCount, int ncLineCount, long timestamp, long filesize, long checksum)`
    `MethodInfo` | `enterMethod(ContextSet context, SourceInfo region, com.atlassian.clover.registry.entities.MethodSignature signature, boolean isTest, java.lang.String staticTestName, boolean isLambda, int complexity, LanguageConstruct construct)`
    `PackageInfo` | `enterPackage(java.lang.String name)`
    `ClassInfo` | `exitClass(int endLine, int endCol)`
    `void` | `exitFile()`
    `void` | `exitMethod(int endLine, int endCol)`
    `void` | `exitPackage()`
    `ClassInfo` | `getCurrentClass()`
    `FileInfo` | `getCurrentFile()`
    `int` | `getCurrentFileMaxIndex()`
    `int` | `getCurrentIndex()`
    `MethodInfo` | `getCurrentMethod()`
    `int` | `getCurrentOffsetFromFile()`
    `PackageInfo` | `getCurrentPackage()`
    `long` | `getEndTS()`
    `long` | `getStartTs()`
    `long` | `getVersion()`
    `void` | `setSourceEncoding(java.lang.String encoding)`

- - ### Method Detail

    - #### enterPackage

          PackageInfo enterPackage(java.lang.String name)

    - #### exitPackage

          void exitPackage()

    - #### enterFile

          FileInfo enterFile(java.lang.String packageName,
                             java.io.File file,
                             int lineCount,
                             int ncLineCount,
                             long timestamp,
                             long filesize,
                             long checksum)

    - #### exitFile

          void exitFile()

    - #### enterClass

          ClassInfo enterClass(java.lang.String name,
                               SourceInfo region,
                               ModifiersInfo modifiers,
                               boolean isInterface,
                               boolean isEnum,
                               boolean isAnnotation)

    - #### exitClass

          ClassInfo exitClass(int endLine,
                              int endCol)

    - #### enterMethod

          MethodInfo enterMethod(@NotNull
                                 ContextSet context,
                                 @NotNull
                                 SourceInfo region,
                                 @NotNull
                                 com.atlassian.clover.registry.entities.MethodSignature signature,
                                 boolean isTest,
                                 @Nullable
                                 java.lang.String staticTestName,
                                 boolean isLambda,
                                 int complexity,
                                 @NotNull
                                 LanguageConstruct construct)

    - #### exitMethod

          void exitMethod(int endLine,
                          int endCol)

    - #### addStatement

          com.atlassian.clover.registry.entities.FullStatementInfo addStatement(ContextSet context,
                                                                                SourceInfo region,
                                                                                int complexity,
                                                                                LanguageConstruct construct)

    - #### addBranch

          com.atlassian.clover.registry.entities.FullBranchInfo addBranch(ContextSet context,
                                                                          SourceInfo region,
                                                                          boolean instrumented,
                                                                          int complexity,
                                                                          LanguageConstruct construct)

    - #### setSourceEncoding

          void setSourceEncoding(java.lang.String encoding)

    - #### getCurrentIndex

          int getCurrentIndex()

    - #### getCurrentFileMaxIndex

          int getCurrentFileMaxIndex()

    - #### getCurrentOffsetFromFile

          int getCurrentOffsetFromFile()

    - #### getStartTs

          long getStartTs()

    - #### getEndTS

          long getEndTS()

    - #### getVersion

          long getVersion()

    - #### getCurrentFile

          FileInfo getCurrentFile()

    - #### getCurrentPackage

          PackageInfo getCurrentPackage()

    - #### getCurrentClass

          @Nullable
          ClassInfo getCurrentClass()

    - #### getCurrentMethod

          @Nullable
          MethodInfo getCurrentMethod()

    - #### close

          void close()
              throws ConcurrentInstrumentationException

      Throws:
        `ConcurrentInstrumentationException`