package org.openstack.atlas.api.mgmt.repository;
import org.openstack.atlas.api.mgmt.validation.validators.*;
import org.openstack.atlas.api.validation.validators.ResourceValidator;
import java.util.HashMap;
import java.util.Map;
public final class ValidatorRepository {
private static final Map<Class, ResourceValidator> classKeyedValidatorMap = new HashMap<Class, ResourceValidator>();
public static <R> ResourceValidator<R> getValidatorFor(Class<R> classOfObjectToValidate) {
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.Backup.class, new BackupValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.Blacklist.class, new BlacklistValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.BlacklistItem.class, new BlacklistItemValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.Cluster.class, new ClusterValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.Clusters.class, new ClustersValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.Host.class, new HostValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.Hosts.class, new HostsValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.Limit.class, new AccountLimitValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.LoadBalancerLimitGroup.class, new LoadBalancerLimitGroupValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.LoadBalancerLimitGroups.class, new LoadBalancerLimitGroupsValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.LoadBalancers.class, new LoadBalancersValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.RateLimit.class, new RateLimitValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.Suspension.class, new LoadBalancerSuspensionValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.Tickets.class, new TicketsValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.Ticket.class, new TicketValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.VirtualIp.class, new VirtualIpValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.VirtualIps.class, new VirtualIpsValidator());
classKeyedValidatorMap.put(org.openstack.atlas.docs.loadbalancers.api.management.v1.ZeusEvent.class, new ZeusEventValidator());
if (!classKeyedValidatorMap.containsKey(classOfObjectToValidate)) {
throw new NullPointerException(String.format("No Validator registered in repository for Class: %s", classOfObjectToValidate.getName()));
}
return classKeyedValidatorMap.get(classOfObjectToValidate);
}
}