Class NamedLockFactoryAdapterFactoryImpl
- java.lang.Object
-
- org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapterFactoryImpl
-
- All Implemented Interfaces:
NamedLockFactoryAdapterFactory
@Singleton @Named public class NamedLockFactoryAdapterFactoryImpl extends java.lang.Object implements NamedLockFactoryAdapterFactory
Default implementation ofNamedLockFactoryAdapterFactory. This implementation creates new instances of the adapter on every call. In turn, on shutdown, it will shut down all existing named lock factories. This is merely for simplicity, to not have to track "used" named lock factories, while it exposes all available named lock factories to callers.Most members and methods of this class are protected. It is meant to be extended in case of need to customize its behavior. An exception from this are private static methods, mostly meant to provide out of the box defaults and to be used when no Eclipse Sisu component container is used.
- Since:
- 1.9.1
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCONFIG_PROP_FACTORY_KEYDeprecated.static java.lang.StringCONFIG_PROP_NAME_MAPPER_KEYName of the name mapper to use in session.static java.lang.StringDEFAULT_NAME_MAPPER_NAMEprotected java.lang.StringdefaultNameMapperNameprotected java.util.Map<java.lang.String,org.eclipse.aether.spi.locking.LockingInhibitorFactory>lockingInhibitorFactoriesprotected org.slf4j.Loggerloggerprotected NamedLockFactorySelectornamedLockFactorySelectorprotected java.util.Map<java.lang.String,NameMapper>nameMappers
-
Constructor Summary
Constructors Constructor Description NamedLockFactoryAdapterFactoryImpl(NamedLockFactorySelector namedLockFactorySelector, java.util.Map<java.lang.String,NameMapper> nameMappers, java.lang.String defaultNameMapperName, java.util.Map<java.lang.String,org.eclipse.aether.spi.locking.LockingInhibitorFactory> lockingInhibitorFactories)NamedLockFactoryAdapterFactoryImpl(NamedLockFactorySelector namedLockFactorySelector, java.util.Map<java.lang.String,NameMapper> nameMappers, java.util.Map<java.lang.String,org.eclipse.aether.spi.locking.LockingInhibitorFactory> lockingInhibitorFactories)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected NamedLockFactoryAdaptercreateAdapter(org.eclipse.aether.RepositorySystemSession session)Creates a new adapter instance, never returnsnull.NamedLockFactoryAdaptergetAdapter(org.eclipse.aether.RepositorySystemSession session)Current implementation memoize instance in session or delegates tocreateAdapter(RepositorySystemSession).protected java.lang.StringgetDefaultNameMapperName()Returns the default name mapper name, nevernull.protected java.lang.StringgetNameMapperName(org.eclipse.aether.RepositorySystemSession session)Returns the selected (user configured or default) name mapper name, nevernull.protected NameMapperselectNameMapper(org.eclipse.aether.RepositorySystemSession session, java.lang.String nameMapperName)Selects a name mapper, never returnsnull.
-
-
-
Field Detail
-
DEFAULT_NAME_MAPPER_NAME
public static final java.lang.String DEFAULT_NAME_MAPPER_NAME
- See Also:
- Constant Field Values
-
CONFIG_PROP_FACTORY_KEY
@Deprecated public static final java.lang.String CONFIG_PROP_FACTORY_KEY
Deprecated.Name of the lock factory to use in session. Out of the box supported ones are "file-lock", "rwlock-local", "semaphore-local", "noop". By adding extensions one can extend available lock factories (for example IPC locking). Deprecated: useaether.system.named...configuration instead.- See Also:
- Constant Field Values
-
CONFIG_PROP_NAME_MAPPER_KEY
public static final java.lang.String CONFIG_PROP_NAME_MAPPER_KEY
Name of the name mapper to use in session. Out of the box supported ones are "static", "gav", "gaecv", "file-gav", "file-gaecv", "file-hgav", "file-hgaecv", "file-static" and "discriminating".- See Also:
- Constant Field Values
-
logger
protected final org.slf4j.Logger logger
-
namedLockFactorySelector
protected final NamedLockFactorySelector namedLockFactorySelector
-
nameMappers
protected final java.util.Map<java.lang.String,NameMapper> nameMappers
-
defaultNameMapperName
protected final java.lang.String defaultNameMapperName
-
lockingInhibitorFactories
protected final java.util.Map<java.lang.String,org.eclipse.aether.spi.locking.LockingInhibitorFactory> lockingInhibitorFactories
-
-
Constructor Detail
-
NamedLockFactoryAdapterFactoryImpl
@Inject public NamedLockFactoryAdapterFactoryImpl(NamedLockFactorySelector namedLockFactorySelector, java.util.Map<java.lang.String,NameMapper> nameMappers, java.util.Map<java.lang.String,org.eclipse.aether.spi.locking.LockingInhibitorFactory> lockingInhibitorFactories)
-
NamedLockFactoryAdapterFactoryImpl
public NamedLockFactoryAdapterFactoryImpl(NamedLockFactorySelector namedLockFactorySelector, java.util.Map<java.lang.String,NameMapper> nameMappers, java.lang.String defaultNameMapperName, java.util.Map<java.lang.String,org.eclipse.aether.spi.locking.LockingInhibitorFactory> lockingInhibitorFactories)
-
-
Method Detail
-
getAdapter
public NamedLockFactoryAdapter getAdapter(org.eclipse.aether.RepositorySystemSession session)
Current implementation memoize instance in session or delegates tocreateAdapter(RepositorySystemSession).- Specified by:
getAdapterin interfaceNamedLockFactoryAdapterFactory
-
createAdapter
protected NamedLockFactoryAdapter createAdapter(org.eclipse.aether.RepositorySystemSession session)
Creates a new adapter instance, never returnsnull.
-
getNameMapperName
protected java.lang.String getNameMapperName(org.eclipse.aether.RepositorySystemSession session)
Returns the selected (user configured or default) name mapper name, nevernull.
-
getDefaultNameMapperName
protected java.lang.String getDefaultNameMapperName()
Returns the default name mapper name, nevernull.
-
selectNameMapper
protected NameMapper selectNameMapper(org.eclipse.aether.RepositorySystemSession session, java.lang.String nameMapperName)
Selects a name mapper, never returnsnull. Applies inhibitors.
-
-