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 givenVcsSettings
protected abstract T
createServiceImpl(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:
isSupported
in 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:VcsRepositoryServiceProvider
Creates VcsService of given type with givenVcsSettings
- Specified by:
createService
in 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)
-
-