Interface RepositorySystemSession.SessionBuilder
- Enclosing interface:
- RepositorySystemSession
RepositorySystemSession.CloseableSession instances. Builder instances can be created with
 RepositorySystem.createSessionBuilder() method. Instances are not thread-safe nor immutable.
 
 Important: if you set a stateful member on builder (for example SessionData or RepositoryCache),
 the builder will create session instances using same provided stateful members, that may lead to unexpected side
 effects. Solution for these cases is to not reuse builder instances, or, keep reconfiguring it, or ultimately
 provide suppliers that create new instance per each call.
- Since:
- 2.0.0
- Restriction:
- This interface is not intended to be extended by clients.
- Restriction:
- This interface is not intended to be implemented by clients.
- 
Method SummaryModifier 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.
- 
Method Details- 
setOfflineControls whether the repository system operates in offline mode and avoids/refuses any access to remote repositories.- Parameters:
- offline-- trueif the repository system is in offline mode,- falseotherwise.
- Returns:
- This session for chaining, never null.
 
- 
setIgnoreArtifactDescriptorRepositoriesRepositorySystemSession.SessionBuilder 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-- trueto ignore additional repositories from artifact descriptors,- falseto merge those with the originally specified repositories.
- Returns:
- This session for chaining, never null.
 
- 
setResolutionErrorPolicyRepositorySystemSession.SessionBuilder 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 be- nullif resolution errors should generally not be cached.
- Returns:
- This session for chaining, never null.
 
- 
setArtifactDescriptorPolicyRepositorySystemSession.SessionBuilder 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 be- nullif descriptor errors should generally not be tolerated.
- Returns:
- This session for chaining, never null.
 
- 
setChecksumPolicySets 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 be- null/empty to apply the per-repository policies.
- Returns:
- This session for chaining, never null.
- See Also:
 
- 
setUpdatePolicySets 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 be- null/empty to apply the per-repository policies.
- Returns:
- This session for chaining, never null.
- See Also:
 
- 
setArtifactUpdatePolicySets 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 be- null/empty to apply the per-repository policies.
- Returns:
- This session for chaining, never null.
- Since:
- 2.0.0
- See Also:
 
- 
setMetadataUpdatePolicySets 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 be- null/empty to apply the per-repository policies.
- Returns:
- This session for chaining, never null.
- Since:
- 2.0.0
- See Also:
 
- 
setLocalRepositoryManagerRepositorySystemSession.SessionBuilder setLocalRepositoryManager(LocalRepositoryManager localRepositoryManager) Sets 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.- Parameters:
- localRepositoryManager- The local repository manager used during this session, may be- null.
- Returns:
- This session for chaining, never null.
 
- 
setWorkspaceReaderSets 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 be- nullif none.
- Returns:
- This session for chaining, never null.
 
- 
setRepositoryListenerSets the listener being notified of actions in the repository system.- Parameters:
- repositoryListener- The repository listener, may be- nullif none.
- Returns:
- This session for chaining, never null.
 
- 
setTransferListenerSets the listener being notified of uploads/downloads by the repository system.- Parameters:
- transferListener- The transfer listener, may be- nullif none.
- Returns:
- This session for chaining, never null.
 
- 
setSystemPropertiesSets 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 be- nullor empty if none.
- Returns:
- This session for chaining, never null.
 
- 
setSystemPropertySets the specified system property.- Parameters:
- key- The property key, must not be- null.
- value- The property value, may be- nullto remove/unset the property.
- Returns:
- This session for chaining, never null.
 
- 
setUserPropertiesSets 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 be- nullor empty if none.
- Returns:
- This session for chaining, never null.
 
- 
setUserPropertySets the specified user property.- Parameters:
- key- The property key, must not be- null.
- value- The property value, may be- nullto remove/unset the property.
- Returns:
- This session for chaining, never null.
 
- 
setConfigPropertiesSets 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 be- nullor empty if none.
- Returns:
- This session for chaining, never null.
 
- 
setConfigPropertySets the specified configuration property.- Parameters:
- key- The property key, must not be- null.
- value- The property value, may be- nullto remove/unset the property.
- Returns:
- This session for chaining, never null.
 
- 
setMirrorSelectorSets 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 be- null.
- Returns:
- This session for chaining, never null.
 
- 
setProxySelectorSets 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 be- null.
- Returns:
- This session for chaining, never null.
- See Also:
 
- 
setAuthenticationSelectorRepositorySystemSession.SessionBuilder 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 be- null.
- Returns:
- This session for chaining, never null.
- See Also:
 
- 
setArtifactTypeRegistryRepositorySystemSession.SessionBuilder setArtifactTypeRegistry(ArtifactTypeRegistry artifactTypeRegistry) Sets the registry of artifact types recognized by this session.- Parameters:
- artifactTypeRegistry- The artifact type registry, may be- null.
- Returns:
- This session for chaining, never null.
 
- 
setDependencyTraverserRepositorySystemSession.SessionBuilder 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 be- null.
- Returns:
- This session for chaining, never null.
 
- 
setDependencyManagerSets the dependency manager to use for building dependency graphs.- Parameters:
- dependencyManager- The dependency manager to use for building dependency graphs, may be- null.
- Returns:
- This session for chaining, never null.
 
- 
setDependencySelectorSets the dependency selector to use for building dependency graphs.- Parameters:
- dependencySelector- The dependency selector to use for building dependency graphs, may be- null.
- Returns:
- This session for chaining, never null.
 
- 
setVersionFilterSets the version filter to use for building dependency graphs.- Parameters:
- versionFilter- The version filter to use for building dependency graphs, may be- nullto not filter versions.
- Returns:
- This session for chaining, never null.
 
- 
setDependencyGraphTransformerRepositorySystemSession.SessionBuilder 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 be- null.
- Returns:
- This session for chaining, never null.
 
- 
setDataSets 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!- Parameters:
- data- The session data, may be- null.
- Returns:
- This session for chaining, never null.
 
- 
setCacheSets 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!- Parameters:
- cache- The repository cache, may be- nullif none.
- Returns:
- This session for chaining, never null.
 
- 
setScopeManagerSets the scope manager for session, may benull.- Parameters:
- scopeManager- The scope manager, may be- null.
- Returns:
- The session for chaining, never null.
 
- 
addOnSessionEndedHandlerAdds on session ended handler to be immediately registered when this builder creates session.- Parameters:
- handler- The on session ended handler, may not be- null.
- Returns:
- The session for chaining, never null.
 
- 
setSessionDataSupplierSets 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!- Parameters:
- dataSupplier- The session data supplier, may not be- null.
- Returns:
- This session for chaining, never null.
 
- 
setRepositoryCacheSupplierRepositorySystemSession.SessionBuilder setRepositoryCacheSupplier(Supplier<RepositoryCache> cacheSupplier) Sets 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!- Parameters:
- cacheSupplier- The repository cache supplier, may not be- null.
- Returns:
- This session for chaining, never null.
 
- 
withLocalRepositoryBaseDirectoriesShortcut 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.- Parameters:
- baseDirectories- The local repository base directories.
- Returns:
- This session for chaining, never null.
- See Also:
 
- 
withLocalRepositoryBaseDirectoriesRepositorySystemSession.SessionBuilder withLocalRepositoryBaseDirectories(Collection<Path> baseDirectories) Shortcut 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.- Parameters:
- baseDirectories- The local repository base directories.
- Returns:
- This session for chaining, never null.
- See Also:
 
- 
withLocalRepositoriesShortcut 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.- Parameters:
- localRepositories- The local repositories.
- Returns:
- This session for chaining, never null.
 
- 
withLocalRepositoriesRepositorySystemSession.SessionBuilder withLocalRepositories(Collection<LocalRepository> localRepositories) Shortcut 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.- Parameters:
- localRepositories- The local repositories.
- Returns:
- This session for chaining, never null.
 
- 
withRepositoryListenerRepositorySystemSession.SessionBuilder withRepositoryListener(RepositoryListener... repositoryListeners) Adds the listeners to be notified of actions in the repository system.- Parameters:
- repositoryListeners- The repository listeners, never- null.
- Returns:
- This session for chaining, never null.
 
- 
withRepositoryListenerRepositorySystemSession.SessionBuilder withRepositoryListener(Collection<RepositoryListener> repositoryListeners) Adds the listeners to be notified of actions in the repository system.- Parameters:
- repositoryListeners- The repository listeners, never- null.
- Returns:
- This session for chaining, never null.
 
- 
withTransferListenerAdds the listener to be notified of uploads/downloads by the repository system.- Parameters:
- transferListeners- The transfer listeners, never- null.
- Returns:
- This session for chaining, never null.
 
- 
withTransferListenerRepositorySystemSession.SessionBuilder withTransferListener(Collection<TransferListener> transferListeners) Adds the listener to be notified of uploads/downloads by the repository system.- Parameters:
- transferListeners- The transfer listeners, never- null.
- Returns:
- This session for chaining, never null.
 
- 
withRepositorySystemSessionShortcut method to shallow-copy passed in session into current builder.- Parameters:
- session- The session to shallow-copy from.
- Returns:
- This session for chaining, never null.
 
- 
buildCreates immutable closeable session out this builder instance.- Returns:
- Immutable closeable session, never null.
 
 
-