Package jetbrains.vcs.api.impl
Class VcsRepositoryServiceProviderBase<T extends VcsService>
- java.lang.Object
-
- jetbrains.vcs.api.impl.VcsRepositoryServiceProviderBase<T>
-
- All Implemented Interfaces:
VcsRepositoryServiceProvider
- Direct Known Subclasses:
BulkPatchServiceProvider,ChangesInfoServiceProvider,CleanPatchServiceProvider,CollectChangesServiceProvider,CommitsInfoServiceProvider,CoreRepositoryServiceProvider,FetchServiceProvider,FileContentServiceProvider,IncrementalPatchServiceProvider,LabelingServiceProvider,ListFilesServiceProvider,MappingGeneratorServiceProvider,TestConnectionServiceProvider
public abstract class VcsRepositoryServiceProviderBase<T extends VcsService> extends Object implements VcsRepositoryServiceProvider
Helper base interface for implementation of VcsRepositoryServiceProvider- Author:
- Eugene Petrenko (eugene.petrenko@jetbrains.com)
- See Also:
VcsRepositoryServiceProvider
-
-
Constructor Summary
Constructors Constructor Description VcsRepositoryServiceProviderBase(Class<T> service, VcsContextLocator locator)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <X extends VcsService>
XcreateService(Class<X> service, VcsSettings settings)Creates VcsService of given type with givenVcsSettingsprotected abstract TcreateServiceImpl(VcsSettings settings, VcsSupportContext context)<X extends VcsService>
booleanisSupported(Class<X> service)
-
-
-
Constructor Detail
-
VcsRepositoryServiceProviderBase
public VcsRepositoryServiceProviderBase(@NotNull Class<T> service, @NotNull VcsContextLocator locator)
-
-
Method Detail
-
isSupported
public final <X extends VcsService> boolean isSupported(@NotNull Class<X> service)
- Specified by:
isSupportedin interfaceVcsRepositoryServiceProvider- Type Parameters:
X- type of server- Parameters:
service- service class- Returns:
- true if this provider can in principle (without
VcsSettings) provide the service
-
createService
@Nullable public final <X extends VcsService> X createService(@NotNull Class<X> service, @NotNull VcsSettings settings)
Description copied from interface:VcsRepositoryServiceProviderCreates VcsService of given type with givenVcsSettings- Specified by:
createServicein interfaceVcsRepositoryServiceProvider- Type Parameters:
X- type of service- Parameters:
service- type of service to createsettings- repository layout settings to use- Returns:
- service if implemented by VCS plugin or null
-
createServiceImpl
@Nullable protected abstract T createServiceImpl(@NotNull VcsSettings settings, @NotNull VcsSupportContext context)
-
-