Class DefaultSessionBuilder
- All Implemented Interfaces:
RepositorySystemSession.SessionBuilder
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultSessionBuilder(RepositorySystem repositorySystem, RepositorySystemLifecycle repositorySystemLifecycle, Supplier<String> sessionIdSupplier) Constructor for "top level" builders. -
Method Summary
Modifier and TypeMethodDescriptionaddOnSessionEndedHandler(Runnable handler) Adds on session ended handler to be immediately registered when this builder creates session.build()Creates immutable closeable session out this builder instance.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.setRepositoryCacheSupplier(Supplier<RepositoryCache> cacheSupplier) Sets the cache supplier for the repository system may use to save data for future reuse during the session.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.setScopeManager(ScopeManager scopeManager) Sets the scope manager for session, may benull.setSessionDataSupplier(Supplier<SessionData> dataSupplier) Sets the custom session data supplier associated with this session.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.withLocalRepositories(Collection<LocalRepository> localRepositories) Shortcut method to set up local repository manager directly onto builder.withLocalRepositories(LocalRepository... localRepositories) Shortcut method to set up local repository manager directly onto builder.withLocalRepositoryBaseDirectories(Path... baseDirectories) Shortcut method to set up local repository manager directly onto builder.withLocalRepositoryBaseDirectories(Collection<Path> baseDirectories) Shortcut method to set up local repository manager directly onto builder.withRepositoryListener(Collection<RepositoryListener> repositoryListeners) Adds the listeners to be notified of actions in the repository system.withRepositoryListener(RepositoryListener... repositoryListeners) Adds the listeners to be notified of actions in the repository system.Shortcut method to shallow-copy passed in session into current builder.withTransferListener(Collection<TransferListener> transferListeners) Adds the listener to be notified of uploads/downloads by the repository system.withTransferListener(TransferListener... transferListeners) Adds the listener to be notified of uploads/downloads by the repository system.
-
Constructor Details
-
DefaultSessionBuilder
public DefaultSessionBuilder(RepositorySystem repositorySystem, RepositorySystemLifecycle repositorySystemLifecycle, Supplier<String> sessionIdSupplier) Constructor for "top level" builders.
-
-
Method Details
-
setOffline
Description copied from interface:RepositorySystemSession.SessionBuilderControls whether the repository system operates in offline mode and avoids/refuses any access to remote repositories.- Specified by:
setOfflinein interfaceRepositorySystemSession.SessionBuilder- Parameters:
offline-trueif the repository system is in offline mode,falseotherwise.- Returns:
- This session for chaining, never
null.
-
setIgnoreArtifactDescriptorRepositories
public DefaultSessionBuilder setIgnoreArtifactDescriptorRepositories(boolean ignoreArtifactDescriptorRepositories) Description copied from interface:RepositorySystemSession.SessionBuilderControls 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:
setIgnoreArtifactDescriptorRepositoriesin interfaceRepositorySystemSession.SessionBuilder- Parameters:
ignoreArtifactDescriptorRepositories-trueto ignore additional repositories from artifact descriptors,falseto merge those with the originally specified repositories.- Returns:
- This session for chaining, never
null.
-
setResolutionErrorPolicy
Description copied from interface:RepositorySystemSession.SessionBuilderSets the policy which controls whether resolutions errors from remote repositories should be cached.- Specified by:
setResolutionErrorPolicyin interfaceRepositorySystemSession.SessionBuilder- Parameters:
resolutionErrorPolicy- The resolution error policy for this session, may benullif resolution errors should generally not be cached.- Returns:
- This session for chaining, never
null.
-
setArtifactDescriptorPolicy
public DefaultSessionBuilder setArtifactDescriptorPolicy(ArtifactDescriptorPolicy artifactDescriptorPolicy) Description copied from interface:RepositorySystemSession.SessionBuilderSets the policy which controls how errors related to reading artifact descriptors should be handled.- Specified by:
setArtifactDescriptorPolicyin interfaceRepositorySystemSession.SessionBuilder- Parameters:
artifactDescriptorPolicy- The descriptor error policy for this session, may benullif descriptor errors should generally not be tolerated.- Returns:
- This session for chaining, never
null.
-
setChecksumPolicy
Description copied from interface:RepositorySystemSession.SessionBuilderSets the global checksum policy. If set, the global checksum policy overrides the checksum policies of the remote repositories being used for resolution.- Specified by:
setChecksumPolicyin interfaceRepositorySystemSession.SessionBuilder- Parameters:
checksumPolicy- The global checksum policy, may benull/empty to apply the per-repository policies.- Returns:
- This session for chaining, never
null. - See Also:
-
setUpdatePolicy
Description copied from interface:RepositorySystemSession.SessionBuilderSets 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!- Specified by:
setUpdatePolicyin interfaceRepositorySystemSession.SessionBuilder- Parameters:
updatePolicy- The global update policy, may benull/empty to apply the per-repository policies.- Returns:
- This session for chaining, never
null. - See Also:
-
setArtifactUpdatePolicy
Description copied from interface:RepositorySystemSession.SessionBuilderSets the global artifact update policy. If set, the global update policy overrides the artifact update policies of the remote repositories being used for resolution.- Specified by:
setArtifactUpdatePolicyin interfaceRepositorySystemSession.SessionBuilder- Parameters:
artifactUpdatePolicy- The global update policy, may benull/empty to apply the per-repository policies.- Returns:
- This session for chaining, never
null. - See Also:
-
setMetadataUpdatePolicy
Description copied from interface:RepositorySystemSession.SessionBuilderSets the global metadata update policy. If set, the global update policy overrides the metadata update policies of the remote repositories being used for resolution.- Specified by:
setMetadataUpdatePolicyin interfaceRepositorySystemSession.SessionBuilder- Parameters:
metadataUpdatePolicy- The global update policy, may benull/empty to apply the per-repository policies.- Returns:
- This session for chaining, never
null. - See Also:
-
setLocalRepositoryManager
public DefaultSessionBuilder setLocalRepositoryManager(LocalRepositoryManager localRepositoryManager) Description copied from interface:RepositorySystemSession.SessionBuilderSets the local repository manager used during this session. Note: Eventually, a valid session must have a local repository manager set.The provisioning of
LocalRepositoryManagerfor use with this method introduces chicken and egg situation. Integrators MUST NOT use this method, but instead, hook into Local Repository Manager Provider by any means they can (ie by using Provider or Sisu Components) and use custom string and/or priorities instead. This method existence is not meant for "everyday use" (normal session creation), but for some more advanced use cases. Do not use it, unless you know what are you doing.- Specified by:
setLocalRepositoryManagerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
localRepositoryManager- The local repository manager used during this session, may benull.- Returns:
- This session for chaining, never
null.
-
setWorkspaceReader
Description copied from interface:RepositorySystemSession.SessionBuilderSets the workspace reader used during this session. If set, the workspace reader will usually be consulted first to resolve artifacts.- Specified by:
setWorkspaceReaderin interfaceRepositorySystemSession.SessionBuilder- Parameters:
workspaceReader- The workspace reader for this session, may benullif none.- Returns:
- This session for chaining, never
null.
-
setRepositoryListener
Description copied from interface:RepositorySystemSession.SessionBuilderSets the listener being notified of actions in the repository system.- Specified by:
setRepositoryListenerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
repositoryListener- The repository listener, may benullif none.- Returns:
- This session for chaining, never
null.
-
setTransferListener
Description copied from interface:RepositorySystemSession.SessionBuilderSets the listener being notified of uploads/downloads by the repository system.- Specified by:
setTransferListenerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
transferListener- The transfer listener, may benullif none.- Returns:
- This session for chaining, never
null.
-
setSystemProperties
Description copied from interface:RepositorySystemSession.SessionBuilderSets 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.- Specified by:
setSystemPropertiesin interfaceRepositorySystemSession.SessionBuilder- Parameters:
systemProperties- The system properties, may benullor empty if none.- Returns:
- This session for chaining, never
null.
-
setSystemProperty
Description copied from interface:RepositorySystemSession.SessionBuilderSets the specified system property.- Specified by:
setSystemPropertyin interfaceRepositorySystemSession.SessionBuilder- Parameters:
key- The property key, must not benull.value- The property value, may benullto remove/unset the property.- Returns:
- This session for chaining, never
null.
-
setUserProperties
Description copied from interface:RepositorySystemSession.SessionBuilderSets 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.- Specified by:
setUserPropertiesin interfaceRepositorySystemSession.SessionBuilder- Parameters:
userProperties- The user properties, may benullor empty if none.- Returns:
- This session for chaining, never
null.
-
setUserProperty
Description copied from interface:RepositorySystemSession.SessionBuilderSets the specified user property.- Specified by:
setUserPropertyin interfaceRepositorySystemSession.SessionBuilder- Parameters:
key- The property key, must not benull.value- The property value, may benullto remove/unset the property.- Returns:
- This session for chaining, never
null.
-
setConfigProperties
Description copied from interface:RepositorySystemSession.SessionBuilderSets 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.- Specified by:
setConfigPropertiesin interfaceRepositorySystemSession.SessionBuilder- Parameters:
configProperties- The configuration properties, may benullor empty if none.- Returns:
- This session for chaining, never
null.
-
setConfigProperty
Description copied from interface:RepositorySystemSession.SessionBuilderSets the specified configuration property.- Specified by:
setConfigPropertyin interfaceRepositorySystemSession.SessionBuilder- Parameters:
key- The property key, must not benull.value- The property value, may benullto remove/unset the property.- Returns:
- This session for chaining, never
null.
-
setMirrorSelector
Description copied from interface:RepositorySystemSession.SessionBuilderSets 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:
setMirrorSelectorin interfaceRepositorySystemSession.SessionBuilder- Parameters:
mirrorSelector- The mirror selector to use, may benull.- Returns:
- This session for chaining, never
null.
-
setProxySelector
Description copied from interface:RepositorySystemSession.SessionBuilderSets 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:
setProxySelectorin interfaceRepositorySystemSession.SessionBuilder- Parameters:
proxySelector- The proxy selector to use, may benull.- Returns:
- This session for chaining, never
null. - See Also:
-
setAuthenticationSelector
public DefaultSessionBuilder setAuthenticationSelector(AuthenticationSelector authenticationSelector) Description copied from interface:RepositorySystemSession.SessionBuilderSets 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:
setAuthenticationSelectorin interfaceRepositorySystemSession.SessionBuilder- Parameters:
authenticationSelector- The authentication selector to use, may benull.- Returns:
- This session for chaining, never
null. - See Also:
-
setArtifactTypeRegistry
Description copied from interface:RepositorySystemSession.SessionBuilderSets the registry of artifact types recognized by this session.- Specified by:
setArtifactTypeRegistryin interfaceRepositorySystemSession.SessionBuilder- Parameters:
artifactTypeRegistry- The artifact type registry, may benull.- Returns:
- This session for chaining, never
null.
-
setDependencyTraverser
Description copied from interface:RepositorySystemSession.SessionBuilderSets the dependency traverser to use for building dependency graphs.- Specified by:
setDependencyTraverserin interfaceRepositorySystemSession.SessionBuilder- Parameters:
dependencyTraverser- The dependency traverser to use for building dependency graphs, may benull.- Returns:
- This session for chaining, never
null.
-
setDependencyManager
Description copied from interface:RepositorySystemSession.SessionBuilderSets the dependency manager to use for building dependency graphs.- Specified by:
setDependencyManagerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
dependencyManager- The dependency manager to use for building dependency graphs, may benull.- Returns:
- This session for chaining, never
null.
-
setDependencySelector
Description copied from interface:RepositorySystemSession.SessionBuilderSets the dependency selector to use for building dependency graphs.- Specified by:
setDependencySelectorin interfaceRepositorySystemSession.SessionBuilder- Parameters:
dependencySelector- The dependency selector to use for building dependency graphs, may benull.- Returns:
- This session for chaining, never
null.
-
setVersionFilter
Description copied from interface:RepositorySystemSession.SessionBuilderSets the version filter to use for building dependency graphs.- Specified by:
setVersionFilterin interfaceRepositorySystemSession.SessionBuilder- Parameters:
versionFilter- The version filter to use for building dependency graphs, may benullto not filter versions.- Returns:
- This session for chaining, never
null.
-
setDependencyGraphTransformer
public DefaultSessionBuilder setDependencyGraphTransformer(DependencyGraphTransformer dependencyGraphTransformer) Description copied from interface:RepositorySystemSession.SessionBuilderSets the dependency graph transformer to use for building dependency graphs.- Specified by:
setDependencyGraphTransformerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
dependencyGraphTransformer- The dependency graph transformer to use for building dependency graphs, may benull.- Returns:
- This session for chaining, never
null.
-
setData
Description copied from interface:RepositorySystemSession.SessionBuilderSets the custom data associated with this session. Note: When this method used to set instance, same passed instance will be used for every built session out of this builder instance, hence the built sessions will share these instances as well!- Specified by:
setDatain interfaceRepositorySystemSession.SessionBuilder- Parameters:
data- The session data, may benull.- Returns:
- This session for chaining, never
null.
-
setSessionDataSupplier
Description copied from interface:RepositorySystemSession.SessionBuilderSets the custom session data supplier associated with this session. Note: The supplier will be used for every built session out of this builder instance, so if supplier supplies same instance the built sessions will share these instances as well!- Specified by:
setSessionDataSupplierin interfaceRepositorySystemSession.SessionBuilder- Parameters:
dataSupplier- The session data supplier, may not benull.- Returns:
- This session for chaining, never
null.
-
setCache
Description copied from interface:RepositorySystemSession.SessionBuilderSets the cache the repository system may use to save data for future reuse during the session. Note: When this method used to set instance, same passed instance will be used for every built session out of this builder instance, hence the built sessions will share these instances as well!- Specified by:
setCachein interfaceRepositorySystemSession.SessionBuilder- Parameters:
cache- The repository cache, may benullif none.- Returns:
- This session for chaining, never
null.
-
setScopeManager
Description copied from interface:RepositorySystemSession.SessionBuilderSets the scope manager for session, may benull.- Specified by:
setScopeManagerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
scopeManager- The scope manager, may benull.- Returns:
- The session for chaining, never
null.
-
addOnSessionEndedHandler
Description copied from interface:RepositorySystemSession.SessionBuilderAdds on session ended handler to be immediately registered when this builder creates session.- Specified by:
addOnSessionEndedHandlerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
handler- The on session ended handler, may not benull.- Returns:
- The session for chaining, never
null.
-
setRepositoryCacheSupplier
Description copied from interface:RepositorySystemSession.SessionBuilderSets the cache supplier for the repository system may use to save data for future reuse during the session. Note: The supplier will be used for every built session out of this builder instance, so if supplier supplies same instance the built sessions will share these instances as well!- Specified by:
setRepositoryCacheSupplierin interfaceRepositorySystemSession.SessionBuilder- Parameters:
cacheSupplier- The repository cache supplier, may not benull.- Returns:
- This session for chaining, never
null.
-
withLocalRepositoryBaseDirectories
public RepositorySystemSession.SessionBuilder withLocalRepositoryBaseDirectories(Path... baseDirectories) Description copied from interface:RepositorySystemSession.SessionBuilderShortcut method to set up local repository manager directly onto builder. There must be at least one non-nullPathpassed in this method. In case multiple files, session builder will use chained local repository manager.- Specified by:
withLocalRepositoryBaseDirectoriesin interfaceRepositorySystemSession.SessionBuilder- Parameters:
baseDirectories- The local repository base directories.- Returns:
- This session for chaining, never
null. - See Also:
-
withLocalRepositoryBaseDirectories
public RepositorySystemSession.SessionBuilder withLocalRepositoryBaseDirectories(Collection<Path> baseDirectories) Description copied from interface:RepositorySystemSession.SessionBuilderShortcut method to set up local repository manager directly onto builder. There must be at least one non-nullPathpresent in passed in list. In case multiple files, session builder will use chained local repository manager.- Specified by:
withLocalRepositoryBaseDirectoriesin interfaceRepositorySystemSession.SessionBuilder- Parameters:
baseDirectories- The local repository base directories.- Returns:
- This session for chaining, never
null. - See Also:
-
withLocalRepositories
public RepositorySystemSession.SessionBuilder withLocalRepositories(LocalRepository... localRepositories) Description copied from interface:RepositorySystemSession.SessionBuilderShortcut method to set up local repository manager directly onto builder. There must be at least one non-nullLocalRepositorypassed in this method. In case multiple local repositories, session builder will use chained local repository manager.- Specified by:
withLocalRepositoriesin interfaceRepositorySystemSession.SessionBuilder- Parameters:
localRepositories- The local repositories.- Returns:
- This session for chaining, never
null.
-
withLocalRepositories
public RepositorySystemSession.SessionBuilder withLocalRepositories(Collection<LocalRepository> localRepositories) Description copied from interface:RepositorySystemSession.SessionBuilderShortcut method to set up local repository manager directly onto builder. There must be at least one non-nullLocalRepositorypresent in passed in list. In case multiple local repositories, session builder will use chained local repository manager.- Specified by:
withLocalRepositoriesin interfaceRepositorySystemSession.SessionBuilder- Parameters:
localRepositories- The local repositories.- Returns:
- This session for chaining, never
null.
-
withRepositoryListener
public RepositorySystemSession.SessionBuilder withRepositoryListener(RepositoryListener... repositoryListeners) Description copied from interface:RepositorySystemSession.SessionBuilderAdds the listeners to be notified of actions in the repository system.- Specified by:
withRepositoryListenerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
repositoryListeners- The repository listeners, nevernull.- Returns:
- This session for chaining, never
null.
-
withRepositoryListener
public RepositorySystemSession.SessionBuilder withRepositoryListener(Collection<RepositoryListener> repositoryListeners) Description copied from interface:RepositorySystemSession.SessionBuilderAdds the listeners to be notified of actions in the repository system.- Specified by:
withRepositoryListenerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
repositoryListeners- The repository listeners, nevernull.- Returns:
- This session for chaining, never
null.
-
withTransferListener
public RepositorySystemSession.SessionBuilder withTransferListener(TransferListener... transferListeners) Description copied from interface:RepositorySystemSession.SessionBuilderAdds the listener to be notified of uploads/downloads by the repository system.- Specified by:
withTransferListenerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
transferListeners- The transfer listeners, nevernull.- Returns:
- This session for chaining, never
null.
-
withTransferListener
public RepositorySystemSession.SessionBuilder withTransferListener(Collection<TransferListener> transferListeners) Description copied from interface:RepositorySystemSession.SessionBuilderAdds the listener to be notified of uploads/downloads by the repository system.- Specified by:
withTransferListenerin interfaceRepositorySystemSession.SessionBuilder- Parameters:
transferListeners- The transfer listeners, nevernull.- Returns:
- This session for chaining, never
null.
-
withRepositorySystemSession
public RepositorySystemSession.SessionBuilder withRepositorySystemSession(RepositorySystemSession session) Description copied from interface:RepositorySystemSession.SessionBuilderShortcut method to shallow-copy passed in session into current builder.- Specified by:
withRepositorySystemSessionin interfaceRepositorySystemSession.SessionBuilder- Parameters:
session- The session to shallow-copy from.- Returns:
- This session for chaining, never
null.
-
build
Description copied from interface:RepositorySystemSession.SessionBuilderCreates immutable closeable session out this builder instance.- Specified by:
buildin interfaceRepositorySystemSession.SessionBuilder- Returns:
- Immutable closeable session, never
null.
-