/** * Returns the {@link RepositoryInformation} for the given repository interface. * * @param repositoryInterface * @param customImplementationClass * @return */ protected RepositoryInformation getRepositoryInformation(RepositoryMetadata metadata, Class<?> customImplementationClass) { return new DefaultRepositoryInformation(metadata, getRepositoryBaseClass(metadata), customImplementationClass); }
/** * Returns the {@link RepositoryInformation} for the given repository interface. * * @param metadata * @param composition * @return */ private RepositoryInformation getRepositoryInformation(RepositoryMetadata metadata, RepositoryComposition composition) { RepositoryInformationCacheKey cacheKey = new RepositoryInformationCacheKey(metadata, composition); return repositoryInformationCache.computeIfAbsent(cacheKey, key -> { Class<?> baseClass = repositoryBaseClass.orElse(getRepositoryBaseClass(metadata)); return new DefaultRepositoryInformation(metadata, baseClass, composition); }); }