Packages

package api

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait AnalysisMode extends AnyRef
  2. case class ApexSummary(typeSummary: TypeSummary, diagnostics: Array[Diagnostic]) extends Product with Serializable

    Summary of an Apex class with diagnostic information

  3. sealed trait AvailableParser extends AnyRef
  4. case class BlockSummary(location: Location, isStatic: Boolean, dependents: Array[DependentSummary]) extends Product with Serializable
  5. case class ConstructorSummary(location: Location, idLocation: Location, modifiers: ArraySeq[Modifier], parameters: ArraySeq[ParameterSummary], dependents: Array[DependentSummary]) extends Product with Serializable

    Summary of a type constructor

  6. sealed trait DependentSummary extends AnyRef

    Dependency information interface for detailing types of dependency

  7. case class ExternalAnalysisConfiguration(mode: AnalysisMode, params: Map[String, List[(String, List[String])]]) extends Product with Serializable

    Setting for external analysis, such as PMD.

    Setting for external analysis, such as PMD. The mode determines if/when analysis is performed while the params provide directives on how to perform the analysis. Params are grouped by analysis provider name, e.g. PMD, within each group is a list of params each with a list of values (which may be empty). The meaning of the params is specific to each provider.

  8. case class FieldDependentSummary(typeId: TypeIdentifier, name: String) extends DependentSummary with Product with Serializable

    Dependency information for a field

    Dependency information for a field

    Annotations
    @key("Field")
  9. case class FieldSummary(location: Location, idLocation: Location, name: String, nature: Nature, modifiers: ArraySeq[Modifier], typeName: TypeName, readAccess: Modifier, writeAccess: Modifier, dependents: Array[DependentSummary]) extends Product with Serializable

    Summary of a type field (or property)

  10. case class IndexerConfiguration(rescanTriggerTimeMs: Long, quietPeriodForRescanMs: Long) extends Product with Serializable

    Indexer configuration settings, if file events are observed at an interval < rescanTriggerTimeMs a re-scan is queued.

    Indexer configuration settings, if file events are observed at an interval < rescanTriggerTimeMs a re-scan is queued. The re-scan is performed after quietPeriodForRescanMs has elapsed without any further file events. Both must be non-zero for the indexer to be active.

  11. case class MethodDependentSummary(typeId: TypeIdentifier, name: String, parameterTypes: ArraySeq[TypeName]) extends DependentSummary with Product with Serializable

    Dependency information for a method

    Dependency information for a method

    Annotations
    @key("Method")
  12. case class MethodSummary(location: Location, idLocation: Location, name: String, modifiers: ArraySeq[Modifier], typeName: TypeName, parameters: ArraySeq[ParameterSummary], hasBlock: Boolean, dependents: Array[DependentSummary]) extends Product with Serializable

    Summary of a type method

  13. trait Org extends AnyRef

    A virtual Org used to present the analysis functionality in a familiar way.

    A virtual Org used to present the analysis functionality in a familiar way.

    All analysis works within the context of a virtual Org. You can manage multiple of these at the same time but most use cases just need one creating, see Org.newOrg(). The Org functions as a container of multiple Package objects and maintains a set of discovered issues from the analysis of the package metadata. All orgs have at least one 'unmanaged' package identifiable by having no namespace. At any point you can list of current issues with the packages from getIssues. When you create an Org the metadata from the provided workspace directory will be loaded automatically, honouring the settings in sfdx-project.json & .forceignore files if present.

    Changes made to the workspace metadata files are automatically handled, although there can be some lag in the file watching. You can also prompt for changes to be handled via Package.refresh to have better control over handling.

    Orgs and Packages are not thread safe, serialise all calls to them.

  14. trait Package extends AnyRef

    A virtual Package constructed from metadata.

    A virtual Package constructed from metadata.

    Packages must be created in the context of a specific Org. Each Package manages a set of Types which are created from the metadata of the package. Once constructed you can use the package APIs to introspect dependency relationships between Types, obtain summary information about Types and replace or delete Types.

    A key concept to understand in this API is that a Type may be created from multiple metadata files, e.g. the System.Labels Type is always present but can be constructed from several labels files. The API methods expose Types via the TypeIdentifiers which you don't need to understand to use the API as long as you keep in mind the 1:M mapping between Types and Paths.

    The term dependency can be rather ambiguous, we use it here to mean a 'using' relationship. So if class A calls a method on class B, we say A has a dependency that is B. The reverse relationship is a 'dependency holder', so B has a dependency holder that is A. Transitives of dependencies or dependency holder relationships are not exposed by these APIs but can be easily obtained by recursive iteration.

    A Summary provides a way of looking at the structure of Types. In summary form only the most important details are provided but it is essentially free to access since it is the same format used in the disk cache.

    Packages only handle metadata that is important to Apex class analysis, other forms of metadata that might appear in the package directory are ignored.

  15. case class ParameterSummary(name: String, typeName: TypeName) extends Product with Serializable

    Summary of a constructor or method parameters

  16. case class TypeDependentSummary(typeId: TypeIdentifier, sourceHash: Int) extends DependentSummary with Product with Serializable

    Dependency information for a type

    Dependency information for a type

    Annotations
    @key("Type")
  17. case class TypeSummary(sourceHash: Int, location: Location, idLocation: Location, name: String, typeName: TypeName, nature: String, modifiers: ArraySeq[Modifier], inTest: Boolean, superClass: Option[TypeName], interfaces: ArraySeq[TypeName], blocks: ArraySeq[BlockSummary], fields: ArraySeq[FieldSummary], constructors: ArraySeq[ConstructorSummary], methods: ArraySeq[MethodSummary], nestedTypes: ArraySeq[TypeSummary], dependents: Array[DependentSummary]) extends Product with Serializable

    Summary of a type

Value Members

  1. case object ANTLRParser extends AvailableParser with Product with Serializable
  2. object ApexSummary extends Serializable
  3. object BlockSummary extends Serializable
  4. object BuildInfo
  5. object ConstructorSummary extends Serializable
  6. object DependentSummary
  7. object ExternalAnalysisConfiguration extends Serializable
  8. object FieldDependentSummary extends Serializable
  9. object FieldSummary extends Serializable
  10. case object LoadAndRefreshAnalysis extends AnalysisMode with Product with Serializable
  11. object MethodDependentSummary extends Serializable
  12. object MethodSummary extends Serializable
  13. case object NoAnalysis extends AnalysisMode with Product with Serializable
  14. object Org
  15. case object OutlineParserMultithreaded extends AvailableParser with Product with Serializable
  16. case object OutlineParserSingleThreaded extends AvailableParser with Product with Serializable
  17. object ParameterSummary extends Serializable
  18. case object RefreshAnalysis extends AnalysisMode with Product with Serializable
  19. object ServerOps

    Collection of Ops functions for changing global behaviours

  20. object TypeDependentSummary extends Serializable
  21. object TypeSummary extends Serializable

Ungrouped