package io.katharsis.resource.registry.repository;
import io.katharsis.repository.ParametersFactory;
import io.katharsis.repository.RepositoryInstanceBuilder;
import io.katharsis.repository.RepositoryMethodParameterProvider;
import io.katharsis.repository.annotated.AnnotatedResourceRepositoryAdapter;
import java.io.Serializable;
public class AnnotatedResourceEntryBuilder<T, ID extends Serializable> implements ResourceEntry<T, ID> {
private final RepositoryInstanceBuilder repositoryInstanceBuilder;
public AnnotatedResourceEntryBuilder(RepositoryInstanceBuilder RepositoryInstanceBuilder) {
this.repositoryInstanceBuilder = RepositoryInstanceBuilder;
}
public AnnotatedResourceRepositoryAdapter build(RepositoryMethodParameterProvider parameterProvider) {
return new AnnotatedResourceRepositoryAdapter<>(repositoryInstanceBuilder.buildRepository(),
new ParametersFactory(parameterProvider));
}
@Override
public String toString() {
return "AnnotatedResourceEntryBuilder{" +
"repositoryInstanceBuilder=" + repositoryInstanceBuilder +
'}';
}
}