Interface RepositorySystemSession

All Known Subinterfaces:
RepositorySystemSession.CloseableSession
All Known Implementing Classes:
AbstractForwardingRepositorySystemSession, DefaultRepositorySystemSession

public interface RepositorySystemSession
Defines settings and components that control the repository system. Once initialized, the session object itself is supposed to be immutable and hence can safely be shared across an entire application and any concurrent threads reading it. Components that wish to tweak some aspects of an existing session should use the copy constructor of DefaultRepositorySystemSession and its mutators to derive a custom session.
Restriction:
This interface is not intended to be extended by clients.
Restriction:
This interface is not intended to be implemented by clients.
  • Method Details

    • isOffline

      boolean isOffline()
      Indicates whether the repository system operates in offline mode and avoids/refuses any access to remote repositories.
      Returns:
      true if the repository system is in offline mode, false otherwise.
    • isIgnoreArtifactDescriptorRepositories

      Indicates whether repositories declared in artifact descriptors should be ignored during transitive dependency collection. If enabled, only the repositories originally provided with the collect request will be considered.
      Returns:
      true if additional repositories from artifact descriptors are ignored, false to merge those with the originally specified repositories.
    • getResolutionErrorPolicy

      Gets the policy which controls whether resolutions errors from remote repositories should be cached.
      Returns:
      The resolution error policy for this session or null if resolution errors should generally not be cached.
    • getArtifactDescriptorPolicy

      Gets the policy which controls how errors related to reading artifact descriptors should be handled.
      Returns:
      The descriptor error policy for this session or null if descriptor errors should generally not be tolerated.
    • getChecksumPolicy

      Gets the global checksum policy. If set, the global checksum policy overrides the checksum policies of the remote repositories being used for resolution.
      Returns:
      The global checksum policy or null/empty if not set and the per-repository policies apply.
      See Also:
    • getUpdatePolicy

      Gets the global update policy, or null if not set.

      This method is meant for code that does not want to distinguish between artifact and metadata policies. Note: applications should either use get/set updatePolicy (this method and DefaultRepositorySystemSession.setUpdatePolicy(String)) or also distinguish between artifact and metadata update policies (and use other methods), but should not mix the two!

      See Also:
    • getArtifactUpdatePolicy

      Gets the global artifact update policy. If set, the global update policy overrides the update policies of the remote repositories being used for resolution.
      Returns:
      The global update policy or null/empty if not set and the per-repository policies apply.
      Since:
      2.0.0
      See Also:
    • getMetadataUpdatePolicy

      Gets the global metadata update policy. If set, the global update policy overrides the update policies of the remote repositories being used for resolution.
      Returns:
      The global update policy or null/empty if not set and the per-repository policies apply.
      Since:
      2.0.0
      See Also:
    • getLocalRepository

      Gets the local repository used during this session. This is a convenience method for LocalRepositoryManager.getRepository().
      Returns:
      The local repository being during this session, never null.
    • getLocalRepositoryManager

      Gets the local repository manager used during this session.
      Returns:
      The local repository manager used during this session, never null.
    • getWorkspaceReader

      Gets the workspace reader used during this session. If set, the workspace reader will usually be consulted first to resolve artifacts.
      Returns:
      The workspace reader for this session or null if none.
    • getRepositoryListener

      Gets the listener being notified of actions in the repository system.
      Returns:
      The repository listener or null if none.
    • getTransferListener

      Gets the listener being notified of uploads/downloads by the repository system.
      Returns:
      The transfer listener or null if none.
    • getSystemProperties

      Gets the system properties to use, e.g. for processing of artifact descriptors. System properties are usually collected from the runtime environment like System.getProperties() and environment variables.
      Returns:
      The (read-only) system properties, never null.
    • getUserProperties

      Gets the user properties to use, e.g. for processing of artifact descriptors. User properties are similar to system properties but are set on the discretion of the user and hence are considered of higher priority than system properties.
      Returns:
      The (read-only) user properties, never null.
    • getConfigProperties

      Gets the configuration properties used to tweak internal aspects of the repository system (e.g. thread pooling, connector-specific behavior, etc.)
      Returns:
      The (read-only) configuration properties, never null.
      See Also:
    • getMirrorSelector

      Gets the mirror selector to use for repositories discovered in artifact descriptors. Note that this selector is not used for remote repositories which are passed as request parameters to the repository system, those repositories are supposed to denote the effective repositories.
      Returns:
      The mirror selector to use, never null.
      See Also:
    • getProxySelector

      Gets the proxy selector to use for repositories discovered in artifact descriptors. Note that this selector is not used for remote repositories which are passed as request parameters to the repository system, those repositories are supposed to have their proxy (if any) already set.
      Returns:
      The proxy selector to use, never null.
      See Also:
    • getAuthenticationSelector

      Gets the authentication selector to use for repositories discovered in artifact descriptors. Note that this selector is not used for remote repositories which are passed as request parameters to the repository system, those repositories are supposed to have their authentication (if any) already set.
      Returns:
      The authentication selector to use, never null.
      See Also:
    • getArtifactTypeRegistry

      Gets the registry of artifact types recognized by this session, for instance when processing artifact descriptors.
      Returns:
      The artifact type registry, never null.
    • getDependencyTraverser

      Gets the dependency traverser to use for building dependency graphs.
      Returns:
      The dependency traverser to use for building dependency graphs or null if dependencies are unconditionally traversed.
    • getDependencyManager

      Gets the dependency manager to use for building dependency graphs.
      Returns:
      The dependency manager to use for building dependency graphs or null if dependency management is not performed.
    • getDependencySelector

      Gets the dependency selector to use for building dependency graphs.
      Returns:
      The dependency selector to use for building dependency graphs or null if dependencies are unconditionally included.
    • getVersionFilter

      Gets the version filter to use for building dependency graphs.
      Returns:
      The version filter to use for building dependency graphs or null if versions aren't filtered.
    • getDependencyGraphTransformer

      Gets the dependency graph transformer to use for building dependency graphs.
      Returns:
      The dependency graph transformer to use for building dependency graphs or null if none.
    • getData

      Gets the custom data associated with this session.
      Returns:
      The session data, never null.
    • getCache

      Gets the cache the repository system may use to save data for future reuse during the session.
      Returns:
      The repository cache or null if none.
    • addOnSessionEndedHandler

      Registers a handler to execute when this session closed.

      Note: Resolver 1.x sessions will not be able to register handlers. Migrate to Resolver 2.x way of handling sessions to make full use of new features. New features (like HTTP/2 transport) depend on this functionality. While they will function with Resolver 1.x sessions, they may produce resource leaks.

      Parameters:
      handler - the handler, never null.
      Returns:
      true if handler successfully registered, false otherwise.
      Since:
      2.0.0