2018-06-27 12:29:21 +02:00
|
|
|
package eu.eudat.logic.builders;
|
2018-02-16 08:45:18 +01:00
|
|
|
|
2018-06-27 12:29:21 +02:00
|
|
|
import eu.eudat.logic.builders.entity.*;
|
|
|
|
import eu.eudat.logic.builders.model.criteria.DataRepositoryCriteriaBuilder;
|
|
|
|
import eu.eudat.logic.builders.model.criteria.ExternalDatasetCriteriaBuilder;
|
|
|
|
import eu.eudat.logic.builders.model.criteria.RegistryCriteriaBuilder;
|
|
|
|
import eu.eudat.logic.builders.model.models.*;
|
2018-02-16 08:45:18 +01:00
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
2020-01-16 12:34:12 +01:00
|
|
|
|
2018-02-16 08:45:18 +01:00
|
|
|
@Service("builderFactory")
|
|
|
|
public class BuilderFactoryImpl implements BuilderFactory {
|
|
|
|
|
|
|
|
public <T extends Builder> T getBuilder(Class<T> tClass) {
|
|
|
|
if (tClass.equals(CredentialBuilder.class)) return (T) new CredentialBuilder();
|
|
|
|
if (tClass.equals(DataRepositoryCriteriaBuilder.class)) return (T) new DataRepositoryCriteriaBuilder();
|
|
|
|
if (tClass.equals(DatasetProfileBuilder.class)) return (T) new DatasetProfileBuilder();
|
|
|
|
if (tClass.equals(DataTableDataBuilder.class)) return (T) new DataTableDataBuilder<>();
|
|
|
|
if (tClass.equals(PrincipalBuilder.class)) return (T) new PrincipalBuilder();
|
2019-07-31 16:57:34 +02:00
|
|
|
if (tClass.equals(GrantBuilder.class)) return (T) new GrantBuilder();
|
2019-08-02 10:27:12 +02:00
|
|
|
if (tClass.equals(ProjectBuilder.class)) return (T) new ProjectBuilder();
|
2019-08-20 17:22:53 +02:00
|
|
|
if (tClass.equals(FunderBuilder.class)) return (T) new FunderBuilder();
|
2018-02-16 08:45:18 +01:00
|
|
|
if (tClass.equals(RegistryCriteriaBuilder.class)) return (T) new RegistryCriteriaBuilder();
|
|
|
|
if (tClass.equals(UserInfoBuilder.class)) return (T) new UserInfoBuilder();
|
|
|
|
if (tClass.equals(UserRoleBuilder.class)) return (T) new UserRoleBuilder();
|
|
|
|
if (tClass.equals(UserTokenBuilder.class)) return (T) new UserTokenBuilder();
|
2018-03-08 11:54:56 +01:00
|
|
|
if (tClass.equals(ResearcherBuilder.class)) return (T) new ResearcherBuilder();
|
|
|
|
if (tClass.equals(ExternalDatasetCriteriaBuilder.class)) return (T) new ExternalDatasetCriteriaBuilder();
|
2018-03-19 13:40:04 +01:00
|
|
|
if (tClass.equals(RecentActivityDataBuilder.class)) return (T) new RecentActivityDataBuilder();
|
2020-01-16 12:34:12 +01:00
|
|
|
if (tClass.equals(OrganisationBuilder.class)) return (T) new OrganisationBuilder();
|
2018-03-08 11:54:56 +01:00
|
|
|
|
2018-02-16 08:45:18 +01:00
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|