001
014
015 package com.liferay.portal.repository.capabilities;
016
017 import com.liferay.portal.kernel.repository.DocumentRepository;
018 import com.liferay.portal.kernel.repository.capabilities.BaseCapabilityProvider;
019 import com.liferay.portal.kernel.repository.capabilities.Capability;
020 import com.liferay.portal.kernel.repository.registry.CapabilityRegistry;
021 import com.liferay.portal.kernel.util.ClassUtil;
022
023
026 public abstract class BaseCapabilityRepository<R> extends BaseCapabilityProvider
027 implements DocumentRepository, CapabilityRegistry {
028
029 public BaseCapabilityRepository(R repository) {
030 _repository = repository;
031 }
032
033 @Override
034 public <S extends Capability, T extends S> void addExportedCapability(
035 Class<S> capabilityClass, T capability) {
036
037 super.addExportedCapability(capabilityClass, capability);
038 }
039
040 @Override
041 public <S extends Capability, T extends S> void addSupportedCapability(
042 Class<S> capabilityClass, T capability) {
043
044 super.addSupportedCapability(capabilityClass, capability);
045 }
046
047 @Override
048 public DocumentRepository getDocumentRepository() {
049 return this;
050 }
051
052 public R getRepository() {
053 return _repository;
054 }
055
056 @Override
057 public abstract long getRepositoryId();
058
059 @Override
060 protected String getProviderKey() {
061 return String.format(
062 "%s:%s", ClassUtil.getClassName(getRepository()),
063 getRepositoryId());
064 }
065
066 private final R _repository;
067
068 }