Package

org.opalj

de

Permalink

package de

Functionality to extract dependencies between class files.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. de
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class DependencyCollectingDependencyProcessor extends DependencyProcessor

    Permalink

    Collects all dependencies extracted by a DependencyExtractor.

    Collects all dependencies extracted by a DependencyExtractor.

    Thread Safety

    This class is thread-safe. However, it does not make sense to call the method toStore unless the dependency extractor that uses this processor has completed.

  2. class DependencyCountingDependencyProcessor extends DependencyProcessor

    Permalink

    A dependency processor that just counts the number of dependencies.

    A dependency processor that just counts the number of dependencies.

    Typically, a DependencyProcessor is passed to a DependencyExtractor. The latter calls back the processDependency methods for each identified dependency.

  3. class DependencyExtractor extends AnyRef

    Permalink

    Traverses a org.opalj.br.SourceElement and identifies all dependencies between the element (org.opalj.br.ClassFile, org.opalj.br.Field or org.opalj.br.Method declaration) and any element it depends on.

    Traverses a org.opalj.br.SourceElement and identifies all dependencies between the element (org.opalj.br.ClassFile, org.opalj.br.Field or org.opalj.br.Method declaration) and any element it depends on. The kind of the dependencies that are extracted are defined by the DependencyType enumeration.

    Concurrency

    The DependencyExtractor does not perform any kind of parallelization on its own. Users of a DependencyExtractor are expected to perform the parallelization (e.g., on the level of source elements) if desired.

    Thread Safety

    The DependencyExtractor does not define any relevant state and, hence, this class is thread-safe.

    However, if multiple dependency extractors are executed concurrently and share the same DependencyProcessor or the same DepencencyExtractor is used by multiple threads concurrently, the DependencyProcessor has to be thread-safe.

    Note

    If the DependencyExtractor is extended it is important to delegate all creations of VirtualSourceElements to the DependencyProcessor to make sure that the dependency processor can perform, e.g., some internalization.

    ,

    By default, self dependencies will be reported (e.g. a method that calls itself, a class that defines a field with the same type). If necessary or undesired, self dependencies can easily be filtered by a DependencyProcessor's processDependency method.

  4. trait DependencyProcessor extends AnyRef

    Permalink

    A dependency processor processes dependencies between two source elements.

    A dependency processor processes dependencies between two source elements.

    Typically, a DependencyProcessor is passed to a DependencyExtractor. The latter calls back the processDependency methods for each identified dependency.

  5. class DependencyProcessorAdapter extends DependencyProcessor

    Permalink

    Basic implementation of the DependencyProcessor trait that does nothing when a dependency is reported.

  6. class DependencyProcessorDecorator extends DependencyProcessor

    Permalink

    Decorator for a given DependencyProcessor.

    Decorator for a given DependencyProcessor.

    Usage Scenario

    If some special processing of some VirtualSourceElements needs to be done, but in other cases processing should just be delegated to another dependency processor.

    Thread Safety

    This class is thread-safe if the specified dependency processor is also thread-safe.

  7. class DependencyStore extends AnyRef

    Permalink

    Stores extracted dependencies.

    Stores extracted dependencies.

    Thread Safety

    This class is thread safe, as this class does not have any mutable state.

  8. type DependencyType = de.DependencyTypes.Value

    Permalink
  9. type DependencyTypesBitSet = Long

    Permalink
  10. type DependencyTypesSet = Set[DependencyType]

    Permalink
  11. trait FilterSelfDependencies extends DependencyProcessor

    Permalink

    A DependencyProcessor that filters self-dependencies.

    A DependencyProcessor that filters self-dependencies.

    See also

    DependencyStoreWithoutSelfDependenciesKey for a usage.

Value Members

  1. object DependencyProcessorAdapter extends DependencyProcessorAdapter

    Permalink
  2. object DependencyStore

    Permalink
  3. object DependencyStoreKey extends ProjectInformationKey[DependencyStore]

    Permalink

    Key that can be used to get a DependencyStore that contains all dependencies.

    Key that can be used to get a DependencyStore that contains all dependencies.

    Usage

    Just pass this object to a Project to get the DependencyStore.

  4. object DependencyStoreWithoutSelfDependenciesKey extends ProjectInformationKey[DependencyStore]

    Permalink

    Key that can be used to get a DependencyStore that contains all dependencies except self dependencies.

    Key that can be used to get a DependencyStore that contains all dependencies except self dependencies.

    Usage

    Just pass this object to a Project to get the DependencyStore.

  5. object DependencyTypes extends Enumeration

    Permalink

    Enumeration of all kinds of dependencies that are extracted by the DependencyExtractor.

Inherited from AnyRef

Inherited from Any

Ungrouped