Class DefaultRepositorySystemSession
- All Implemented Interfaces:
RepositorySystemSession
Note: This class is not thread-safe. It is assumed that the mutators get only called during an
initialization phase and that the session itself is not changed once initialized and being used by the repository
system. It is recommended to call setReadOnly()
once the session has been fully initialized to prevent
accidental manipulation of it afterwards.
-
Constructor Summary
ConstructorDescriptionCreates an uninitialized session.Creates a shallow copy of the specified session. -
Method Summary
Modifier and TypeMethodDescriptionGets the policy which controls how errors related to reading artifact descriptors should be handled.Gets the registry of artifact types recognized by this session, for instance when processing artifact descriptors.Gets the global artifact update policy.Gets the authentication selector to use for repositories discovered in artifact descriptors.getCache()
Gets the cache the repository system may use to save data for future reuse during the session.Gets the global checksum policy.Gets the configuration properties used to tweak internal aspects of the repository system (e.g.getData()
Gets the custom data associated with this session.Gets the dependency graph transformer to use for building dependency graphs.Gets the dependency manager to use for building dependency graphs.Gets the dependency selector to use for building dependency graphs.Gets the dependency traverser to use for building dependency graphs.Gets the local repository used during this session.Gets the local repository manager used during this session.Gets the global metadata update policy.Gets the mirror selector to use for repositories discovered in artifact descriptors.Gets the proxy selector to use for repositories discovered in artifact descriptors.Gets the listener being notified of actions in the repository system.Gets the policy which controls whether resolutions errors from remote repositories should be cached.Gets the system properties to use, e.g.Gets the listener being notified of uploads/downloads by the repository system.Gets the global update policy, ornull
if not set.Gets the user properties to use, e.g.Gets the version filter to use for building dependency graphs.Gets the workspace reader used during this session.boolean
Indicates whether repositories declared in artifact descriptors should be ignored during transitive dependency collection.boolean
Indicates whether the repository system operates in offline mode and avoids/refuses any access to remote repositories.setArtifactDescriptorPolicy
(ArtifactDescriptorPolicy artifactDescriptorPolicy) Sets the policy which controls how errors related to reading artifact descriptors should be handled.setArtifactTypeRegistry
(ArtifactTypeRegistry artifactTypeRegistry) Sets the registry of artifact types recognized by this session.setArtifactUpdatePolicy
(String artifactUpdatePolicy) Sets the global artifact update policy.setAuthenticationSelector
(AuthenticationSelector authenticationSelector) Sets the authentication selector to use for repositories discovered in artifact descriptors.setCache
(RepositoryCache cache) Sets the cache the repository system may use to save data for future reuse during the session.setChecksumPolicy
(String checksumPolicy) Sets the global checksum policy.setConfigProperties
(Map<?, ?> configProperties) Sets the configuration properties used to tweak internal aspects of the repository system (e.g.setConfigProperty
(String key, Object value) Sets the specified configuration property.setData
(SessionData data) Sets the custom data associated with this session.setDependencyGraphTransformer
(DependencyGraphTransformer dependencyGraphTransformer) Sets the dependency graph transformer to use for building dependency graphs.setDependencyManager
(DependencyManager dependencyManager) Sets the dependency manager to use for building dependency graphs.setDependencySelector
(DependencySelector dependencySelector) Sets the dependency selector to use for building dependency graphs.setDependencyTraverser
(DependencyTraverser dependencyTraverser) Sets the dependency traverser to use for building dependency graphs.setIgnoreArtifactDescriptorRepositories
(boolean ignoreArtifactDescriptorRepositories) Controls whether repositories declared in artifact descriptors should be ignored during transitive dependency collection.setLocalRepositoryManager
(LocalRepositoryManager localRepositoryManager) Sets the local repository manager used during this session.setMetadataUpdatePolicy
(String metadataUpdatePolicy) Sets the global metadata update policy.setMirrorSelector
(MirrorSelector mirrorSelector) Sets the mirror selector to use for repositories discovered in artifact descriptors.setOffline
(boolean offline) Controls whether the repository system operates in offline mode and avoids/refuses any access to remote repositories.setProxySelector
(ProxySelector proxySelector) Sets the proxy selector to use for repositories discovered in artifact descriptors.void
Marks this session as read-only such that any future attempts to call its mutators will fail with an exception.setRepositoryListener
(RepositoryListener repositoryListener) Sets the listener being notified of actions in the repository system.setResolutionErrorPolicy
(ResolutionErrorPolicy resolutionErrorPolicy) Sets the policy which controls whether resolutions errors from remote repositories should be cached.setSystemProperties
(Map<?, ?> systemProperties) Sets the system properties to use, e.g.setSystemProperty
(String key, String value) Sets the specified system property.setTransferListener
(TransferListener transferListener) Sets the listener being notified of uploads/downloads by the repository system.setUpdatePolicy
(String updatePolicy) Sets the global update policy.setUserProperties
(Map<?, ?> userProperties) Sets the user properties to use, e.g.setUserProperty
(String key, String value) Sets the specified user property.setVersionFilter
(VersionFilter versionFilter) Sets the version filter to use for building dependency graphs.setWorkspaceReader
(WorkspaceReader workspaceReader) Sets the workspace reader used during this session.
-
Constructor Details
-
DefaultRepositorySystemSession
public DefaultRepositorySystemSession()Creates an uninitialized session. Note: The new session is not ready to use, as a bare minimum,setLocalRepositoryManager(LocalRepositoryManager)
needs to be called but usually other settings also need to be customized to achieve meaningful behavior. -
DefaultRepositorySystemSession
Creates a shallow copy of the specified session. Actually, the copy is not completely shallow, all maps holding system/user/config properties are copied as well. In other words, invoking any mutator on the new session itself has no effect on the original session. Other mutable objects like the session data and cache (if any) are not copied and will be shared with the original session unless reconfigured.- Parameters:
session
- The session to copy, must not benull
.
-
-
Method Details
-
isOffline
Description copied from interface:RepositorySystemSession
Indicates whether the repository system operates in offline mode and avoids/refuses any access to remote repositories.- Specified by:
isOffline
in interfaceRepositorySystemSession
- Returns:
true
if the repository system is in offline mode,false
otherwise.
-
setOffline
Controls whether the repository system operates in offline mode and avoids/refuses any access to remote repositories.- Parameters:
offline
-true
if the repository system is in offline mode,false
otherwise.- Returns:
- This session for chaining, never
null
.
-
isIgnoreArtifactDescriptorRepositories
Description copied from interface:RepositorySystemSession
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.- Specified by:
isIgnoreArtifactDescriptorRepositories
in interfaceRepositorySystemSession
- Returns:
true
if additional repositories from artifact descriptors are ignored,false
to merge those with the originally specified repositories.
-
setIgnoreArtifactDescriptorRepositories
public DefaultRepositorySystemSession setIgnoreArtifactDescriptorRepositories(boolean ignoreArtifactDescriptorRepositories) Controls 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.- Parameters:
ignoreArtifactDescriptorRepositories
-true
to ignore additional repositories from artifact descriptors,false
to merge those with the originally specified repositories.- Returns:
- This session for chaining, never
null
.
-
getResolutionErrorPolicy
Description copied from interface:RepositorySystemSession
Gets the policy which controls whether resolutions errors from remote repositories should be cached.- Specified by:
getResolutionErrorPolicy
in interfaceRepositorySystemSession
- Returns:
- The resolution error policy for this session or
null
if resolution errors should generally not be cached.
-
setResolutionErrorPolicy
public DefaultRepositorySystemSession setResolutionErrorPolicy(ResolutionErrorPolicy resolutionErrorPolicy) Sets the policy which controls whether resolutions errors from remote repositories should be cached.- Parameters:
resolutionErrorPolicy
- The resolution error policy for this session, may benull
if resolution errors should generally not be cached.- Returns:
- This session for chaining, never
null
.
-
getArtifactDescriptorPolicy
Description copied from interface:RepositorySystemSession
Gets the policy which controls how errors related to reading artifact descriptors should be handled.- Specified by:
getArtifactDescriptorPolicy
in interfaceRepositorySystemSession
- Returns:
- The descriptor error policy for this session or
null
if descriptor errors should generally not be tolerated.
-
setArtifactDescriptorPolicy
public DefaultRepositorySystemSession setArtifactDescriptorPolicy(ArtifactDescriptorPolicy artifactDescriptorPolicy) Sets the policy which controls how errors related to reading artifact descriptors should be handled.- Parameters:
artifactDescriptorPolicy
- The descriptor error policy for this session, may benull
if descriptor errors should generally not be tolerated.- Returns:
- This session for chaining, never
null
.
-
getChecksumPolicy
Description copied from interface:RepositorySystemSession
Gets the global checksum policy. If set, the global checksum policy overrides the checksum policies of the remote repositories being used for resolution.- Specified by:
getChecksumPolicy
in interfaceRepositorySystemSession
- Returns:
- The global checksum policy or
null
/empty if not set and the per-repository policies apply. - See Also:
-
setChecksumPolicy
Sets the global checksum policy. If set, the global checksum policy overrides the checksum policies of the remote repositories being used for resolution.- Parameters:
checksumPolicy
- The global checksum policy, may benull
/empty to apply the per-repository policies.- Returns:
- This session for chaining, never
null
. - See Also:
-
getUpdatePolicy
Description copied from interface:RepositorySystemSession
Gets the global update policy, ornull
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
setUpdatePolicy(String)
) or also distinguish between artifact and metadata update policies (and use other methods), but should not mix the two!- Specified by:
getUpdatePolicy
in interfaceRepositorySystemSession
- See Also:
-
setUpdatePolicy
Sets the global update policy. If set, the global update policy overrides the update policies of the remote repositories being used for resolution.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
RepositorySystemSession.getUpdatePolicy()
) or also distinguish between artifact and metadata update policies (and use other methods), but should not mix the two!- Parameters:
updatePolicy
- The global update policy, may benull
/empty to apply the per-repository policies.- Returns:
- This session for chaining, never
null
. - See Also:
-
getArtifactUpdatePolicy
Description copied from interface:RepositorySystemSession
Gets the global artifact update policy. If set, the global update policy overrides the update policies of the remote repositories being used for resolution.- Specified by:
getArtifactUpdatePolicy
in interfaceRepositorySystemSession
- Returns:
- The global update policy or
null
/empty if not set and the per-repository policies apply. - See Also:
-
setArtifactUpdatePolicy
Sets the global artifact update policy. If set, the global update policy overrides the artifact update policies of the remote repositories being used for resolution.- Parameters:
artifactUpdatePolicy
- The global update policy, may benull
/empty to apply the per-repository policies.- Returns:
- This session for chaining, never
null
. - Since:
- TBD
- See Also:
-
getMetadataUpdatePolicy
Description copied from interface:RepositorySystemSession
Gets the global metadata update policy. If set, the global update policy overrides the update policies of the remote repositories being used for resolution.- Specified by:
getMetadataUpdatePolicy
in interfaceRepositorySystemSession
- Returns:
- The global update policy or
null
/empty if not set and the per-repository policies apply. - See Also:
-
setMetadataUpdatePolicy
Sets the global metadata update policy. If set, the global update policy overrides the metadata update policies of the remote repositories being used for resolution.- Parameters:
metadataUpdatePolicy
- The global update policy, may benull
/empty to apply the per-repository policies.- Returns:
- This session for chaining, never
null
. - Since:
- TBD
- See Also:
-
getLocalRepository
Description copied from interface:RepositorySystemSession
Gets the local repository used during this session. This is a convenience method forLocalRepositoryManager.getRepository()
.- Specified by:
getLocalRepository
in interfaceRepositorySystemSession
- Returns:
- The local repository being during this session, never
null
.
-
getLocalRepositoryManager
Description copied from interface:RepositorySystemSession
Gets the local repository manager used during this session.- Specified by:
getLocalRepositoryManager
in interfaceRepositorySystemSession
- Returns:
- The local repository manager used during this session, never
null
.
-
setLocalRepositoryManager
public DefaultRepositorySystemSession setLocalRepositoryManager(LocalRepositoryManager localRepositoryManager) Sets the local repository manager used during this session. Note: Eventually, a valid session must have a local repository manager set.- Parameters:
localRepositoryManager
- The local repository manager used during this session, may benull
.- Returns:
- This session for chaining, never
null
.
-
getWorkspaceReader
Description copied from interface:RepositorySystemSession
Gets the workspace reader used during this session. If set, the workspace reader will usually be consulted first to resolve artifacts.- Specified by:
getWorkspaceReader
in interfaceRepositorySystemSession
- Returns:
- The workspace reader for this session or
null
if none.
-
setWorkspaceReader
Sets the workspace reader used during this session. If set, the workspace reader will usually be consulted first to resolve artifacts.- Parameters:
workspaceReader
- The workspace reader for this session, may benull
if none.- Returns:
- This session for chaining, never
null
.
-
getRepositoryListener
Description copied from interface:RepositorySystemSession
Gets the listener being notified of actions in the repository system.- Specified by:
getRepositoryListener
in interfaceRepositorySystemSession
- Returns:
- The repository listener or
null
if none.
-
setRepositoryListener
Sets the listener being notified of actions in the repository system.- Parameters:
repositoryListener
- The repository listener, may benull
if none.- Returns:
- This session for chaining, never
null
.
-
getTransferListener
Description copied from interface:RepositorySystemSession
Gets the listener being notified of uploads/downloads by the repository system.- Specified by:
getTransferListener
in interfaceRepositorySystemSession
- Returns:
- The transfer listener or
null
if none.
-
setTransferListener
Sets the listener being notified of uploads/downloads by the repository system.- Parameters:
transferListener
- The transfer listener, may benull
if none.- Returns:
- This session for chaining, never
null
.
-
getSystemProperties
Description copied from interface:RepositorySystemSession
Gets the system properties to use, e.g. for processing of artifact descriptors. System properties are usually collected from the runtime environment likeSystem.getProperties()
and environment variables.- Specified by:
getSystemProperties
in interfaceRepositorySystemSession
- Returns:
- The (read-only) system properties, never
null
.
-
setSystemProperties
Sets the system properties to use, e.g. for processing of artifact descriptors. System properties are usually collected from the runtime environment likeSystem.getProperties()
and environment variables.Note: System properties are of type
Map<String, String>
and any key-value pair in the input map that doesn't match this type will be silently ignored.- Parameters:
systemProperties
- The system properties, may benull
or empty if none.- Returns:
- This session for chaining, never
null
.
-
setSystemProperty
Sets the specified system property.- Parameters:
key
- The property key, must not benull
.value
- The property value, may benull
to remove/unset the property.- Returns:
- This session for chaining, never
null
.
-
getUserProperties
Description copied from interface:RepositorySystemSession
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.- Specified by:
getUserProperties
in interfaceRepositorySystemSession
- Returns:
- The (read-only) user properties, never
null
.
-
setUserProperties
Sets 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 in case of conflicts.Note: User properties are of type
Map<String, String>
and any key-value pair in the input map that doesn't match this type will be silently ignored.- Parameters:
userProperties
- The user properties, may benull
or empty if none.- Returns:
- This session for chaining, never
null
.
-
setUserProperty
Sets the specified user property.- Parameters:
key
- The property key, must not benull
.value
- The property value, may benull
to remove/unset the property.- Returns:
- This session for chaining, never
null
.
-
getConfigProperties
Description copied from interface:RepositorySystemSession
Gets the configuration properties used to tweak internal aspects of the repository system (e.g. thread pooling, connector-specific behavior, etc.)- Specified by:
getConfigProperties
in interfaceRepositorySystemSession
- Returns:
- The (read-only) configuration properties, never
null
. - See Also:
-
setConfigProperties
Sets the configuration properties used to tweak internal aspects of the repository system (e.g. thread pooling, connector-specific behavior, etc.).Note: Configuration properties are of type
Map<String, Object>
and any key-value pair in the input map that doesn't match this type will be silently ignored.- Parameters:
configProperties
- The configuration properties, may benull
or empty if none.- Returns:
- This session for chaining, never
null
.
-
setConfigProperty
Sets the specified configuration property.- Parameters:
key
- The property key, must not benull
.value
- The property value, may benull
to remove/unset the property.- Returns:
- This session for chaining, never
null
.
-
getMirrorSelector
Description copied from interface:RepositorySystemSession
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.- Specified by:
getMirrorSelector
in interfaceRepositorySystemSession
- Returns:
- The mirror selector to use, never
null
. - See Also:
-
setMirrorSelector
Sets 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.- Parameters:
mirrorSelector
- The mirror selector to use, may benull
.- Returns:
- This session for chaining, never
null
.
-
getProxySelector
Description copied from interface:RepositorySystemSession
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.- Specified by:
getProxySelector
in interfaceRepositorySystemSession
- Returns:
- The proxy selector to use, never
null
. - See Also:
-
setProxySelector
Sets 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.- Parameters:
proxySelector
- The proxy selector to use, may benull
.- Returns:
- This session for chaining, never
null
. - See Also:
-
getAuthenticationSelector
Description copied from interface:RepositorySystemSession
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.- Specified by:
getAuthenticationSelector
in interfaceRepositorySystemSession
- Returns:
- The authentication selector to use, never
null
. - See Also:
-
setAuthenticationSelector
public DefaultRepositorySystemSession setAuthenticationSelector(AuthenticationSelector authenticationSelector) Sets 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.- Parameters:
authenticationSelector
- The authentication selector to use, may benull
.- Returns:
- This session for chaining, never
null
. - See Also:
-
getArtifactTypeRegistry
Description copied from interface:RepositorySystemSession
Gets the registry of artifact types recognized by this session, for instance when processing artifact descriptors.- Specified by:
getArtifactTypeRegistry
in interfaceRepositorySystemSession
- Returns:
- The artifact type registry, never
null
.
-
setArtifactTypeRegistry
public DefaultRepositorySystemSession setArtifactTypeRegistry(ArtifactTypeRegistry artifactTypeRegistry) Sets the registry of artifact types recognized by this session.- Parameters:
artifactTypeRegistry
- The artifact type registry, may benull
.- Returns:
- This session for chaining, never
null
.
-
getDependencyTraverser
Description copied from interface:RepositorySystemSession
Gets the dependency traverser to use for building dependency graphs.- Specified by:
getDependencyTraverser
in interfaceRepositorySystemSession
- Returns:
- The dependency traverser to use for building dependency graphs or
null
if dependencies are unconditionally traversed.
-
setDependencyTraverser
public DefaultRepositorySystemSession setDependencyTraverser(DependencyTraverser dependencyTraverser) Sets the dependency traverser to use for building dependency graphs.- Parameters:
dependencyTraverser
- The dependency traverser to use for building dependency graphs, may benull
.- Returns:
- This session for chaining, never
null
.
-
getDependencyManager
Description copied from interface:RepositorySystemSession
Gets the dependency manager to use for building dependency graphs.- Specified by:
getDependencyManager
in interfaceRepositorySystemSession
- Returns:
- The dependency manager to use for building dependency graphs or
null
if dependency management is not performed.
-
setDependencyManager
Sets the dependency manager to use for building dependency graphs.- Parameters:
dependencyManager
- The dependency manager to use for building dependency graphs, may benull
.- Returns:
- This session for chaining, never
null
.
-
getDependencySelector
Description copied from interface:RepositorySystemSession
Gets the dependency selector to use for building dependency graphs.- Specified by:
getDependencySelector
in interfaceRepositorySystemSession
- Returns:
- The dependency selector to use for building dependency graphs or
null
if dependencies are unconditionally included.
-
setDependencySelector
Sets the dependency selector to use for building dependency graphs.- Parameters:
dependencySelector
- The dependency selector to use for building dependency graphs, may benull
.- Returns:
- This session for chaining, never
null
.
-
getVersionFilter
Description copied from interface:RepositorySystemSession
Gets the version filter to use for building dependency graphs.- Specified by:
getVersionFilter
in interfaceRepositorySystemSession
- Returns:
- The version filter to use for building dependency graphs or
null
if versions aren't filtered.
-
setVersionFilter
Sets the version filter to use for building dependency graphs.- Parameters:
versionFilter
- The version filter to use for building dependency graphs, may benull
to not filter versions.- Returns:
- This session for chaining, never
null
.
-
getDependencyGraphTransformer
Description copied from interface:RepositorySystemSession
Gets the dependency graph transformer to use for building dependency graphs.- Specified by:
getDependencyGraphTransformer
in interfaceRepositorySystemSession
- Returns:
- The dependency graph transformer to use for building dependency graphs or
null
if none.
-
setDependencyGraphTransformer
public DefaultRepositorySystemSession setDependencyGraphTransformer(DependencyGraphTransformer dependencyGraphTransformer) Sets the dependency graph transformer to use for building dependency graphs.- Parameters:
dependencyGraphTransformer
- The dependency graph transformer to use for building dependency graphs, may benull
.- Returns:
- This session for chaining, never
null
.
-
getData
Description copied from interface:RepositorySystemSession
Gets the custom data associated with this session.- Specified by:
getData
in interfaceRepositorySystemSession
- Returns:
- The session data, never
null
.
-
setData
Sets the custom data associated with this session.- Parameters:
data
- The session data, may benull
.- Returns:
- This session for chaining, never
null
.
-
getCache
Description copied from interface:RepositorySystemSession
Gets the cache the repository system may use to save data for future reuse during the session.- Specified by:
getCache
in interfaceRepositorySystemSession
- Returns:
- The repository cache or
null
if none.
-
setCache
Sets the cache the repository system may use to save data for future reuse during the session.- Parameters:
cache
- The repository cache, may benull
if none.- Returns:
- This session for chaining, never
null
.
-
setReadOnly
Marks this session as read-only such that any future attempts to call its mutators will fail with an exception. Marking an already read-only session as read-only has no effect. The session's data and cache remain writable though.
-