@Singleton @Named public class DefaultOfflineController extends java.lang.Object implements OfflineController
Modifier and Type | Field and Description |
---|---|
(package private) static java.lang.String |
CONFIG_PROP_OFFLINE_HOSTS |
(package private) static java.lang.String |
CONFIG_PROP_OFFLINE_PROTOCOLS |
private static java.util.regex.Pattern |
SEP |
Constructor and Description |
---|
DefaultOfflineController() |
Modifier and Type | Method and Description |
---|---|
void |
checkOffline(RepositorySystemSession session,
RemoteRepository repository)
Determines whether the specified repository is accessible if the system was in offline mode.
|
private java.lang.String[] |
getConfig(RepositorySystemSession session,
java.lang.String key) |
private boolean |
isOfflineHost(RepositorySystemSession session,
RemoteRepository repository) |
private boolean |
isOfflineProtocol(RepositorySystemSession session,
RemoteRepository repository) |
static final java.lang.String CONFIG_PROP_OFFLINE_PROTOCOLS
static final java.lang.String CONFIG_PROP_OFFLINE_HOSTS
private static final java.util.regex.Pattern SEP
public void checkOffline(RepositorySystemSession session, RemoteRepository repository) throws RepositoryOfflineException
OfflineController
RepositoryOfflineException
to block all remote repository
access when in offline mode. More sophisticated implementations might inspect
configuration properties
of the session to check for some
kind of whitelist that allows certain remote repositories even when offline. At any rate, the session's current
offline state
is irrelevant to the outcome of the check.checkOffline
in interface OfflineController
session
- The repository session during which the check is made, must not be null
.repository
- The remote repository to check for offline access, must not be null
.RepositoryOfflineException
- If the repository is not accessible in offline mode. If the method returns
normally, the repository is considered accessible even in offline mode.RepositorySystemSession.isOffline()
private boolean isOfflineProtocol(RepositorySystemSession session, RemoteRepository repository)
private boolean isOfflineHost(RepositorySystemSession session, RemoteRepository repository)
private java.lang.String[] getConfig(RepositorySystemSession session, java.lang.String key)