# Package com.atlassian.clover.api.registry

- Interface Summary
  Interface | Description
  --- | ---
  Annotation | Represents an annotation.
  AnnotationValue | Represents a value of an annotation attribute.
  BlockMetrics |
  BranchInfo |
  ClassInfo | Represents a single class or it's equivalent (an interface, trait etc).
  ContextSet | Set of code contexts - for built-in language constructs like if-else block, for loop etc as well as for custom statement / method contexts.
  ElementInfo |
  EntityContainer | Represents an entity which can contain other entities inside and is their parent.
  FileInfo | Represents a single source file.
  HasAggregatedMetrics |
  HasBranches | Represents a code entity containing branches or their equivalent (if-then-else, switch blocks etc)
  HasClasses | Represents a code entity containing classes or their equivalent (like interfaces in Java, objects in Scala etc)
  HasContextFilter | Represents a code entity, which can have a context filter defined for metrics.
  HasFiles | Represents a code entity containing source files.
  HasMethods | Represents a code entity containing methods or their equivalent (like Java8 lambdas or Closure functions)
  HasMetrics |
  HasPackages | Represents a code entity containing packages or their equivalent (like C++ namespaces)
  HasParent | Entity which has it's own parent.
  HasStatements | Represents a code entity containing statements or their equivalent (expressions, for instance)
  InstrumentationInfo |
  MethodInfo | Represents a method (or an equivalent, like function) Implements interfaces: HasClasses - classes declared inside a method body, for example: anonymous inline class - Java, Groovy - currently Clover does not handle inline classes (it treats them as a part of the method body) HasMethods - some programming languages allow to declare a method inside another method, for example: a lambda expression inside a method - Java 8 a function inside a function - Scala, Closure HasStatements, HasBranches - returns code defined in a method body HasContextFilter - set of custom statement/method contexts for filtering HasMetrics, HasAggregatedMetrics - code metrics for the method HasParent - parent method/class/file for this method
  MethodSignatureInfo |
  ModifiersInfo |
  PackageInfo | Implemented interfaces: EntityContainer - package can contain files HasClasses - classes declared in source files inside this package HasFiles - list of source files belonging to a package HasContextFilter - context filter applied to a package HasMetrics - code metrics for a package HasParent - parent project for this package
  ParameterInfo |
  ProjectInfo |
  SourceInfo | A region of some source code in a file
  StatementInfo | Represents a single statement.

- Class Summary
  Class | Description
  --- | ---
  EntityVisitor | Callback handler for `EntityContainer`.

- Exception Summary
  Exception | Description
  --- | ---
  CloverRegistryException |