/** * @author UFreedom * @since 2014 下午1:52:15 * @see www.52yummy.com * <br> * sunfreedom@sina.cn * <br> * Copyright (C) 2014 UFreedom. All Rights Reserved. */ package com.codecomb; import java.util.HashMap; import java.util.Map; import com.codecomb.module.broadcast.BroadcastRepository; import com.codecomb.module.broadcast.BroadcastService; import com.codecomb.module.clarifications.ClarificationRepository; import com.codecomb.module.clarifications.ClarificationService; import com.codecomb.module.contacts.ContactRepository; import com.codecomb.module.contacts.ContactService; import com.codecomb.module.contests.ContestRepository; import com.codecomb.module.contests.ContestService; import com.codecomb.module.im.MessageRepository; import com.codecomb.module.im.MessageService; import com.codecomb.module.login.LoginRepository; import com.codecomb.module.login.LoginService; import com.codecomb.module.profile.ProfileRepository; import com.codecomb.module.profile.ProfileService; public class ServerLocator { private static Map<Object, Object> objects; static{ objects = new HashMap<Object, Object>(); init(); } private static void init() { objects.put(LoginRepository.class, new com.codecomb.infrastructure.repository.LoginRepositoryImpl()); objects.put(ProfileRepository.class, new com.codecomb.infrastructure.repository.ProfileRepositoryImpl()); objects.put(ClarificationRepository.class, new com.codecomb.infrastructure.repository.ClarificationRepositoryImpl()); objects.put(ContestRepository.class, new com.codecomb.infrastructure.repository.ContestRepositoryImpl()); objects.put(MessageRepository.class, new com.codecomb.infrastructure.repository.MessageRepositoryImpl()); objects.put(BroadcastRepository.class, new com.codecomb.infrastructure.repository.BroadcastRepositoryImpl()); objects.put(ContactRepository.class, new com.codecomb.infrastructure.repository.ContactRespository()); objects.put(LoginService.class, new com.codecomb.module.login.LoginServiceImpl()); objects.put(ProfileService.class, new com.codecomb.module.profile.ProfileServiceImpl()); objects.put(ClarificationService.class, new com.codecomb.module.clarifications.ClarificationServiceimpl()); objects.put(ContestService.class, new com.codecomb.module.contests.ContestServiceImpl()); objects.put(MessageService.class, new com.codecomb.module.im.MessageServiceImpl()); objects.put(BroadcastService.class, new com.codecomb.module.broadcast.BroadcastServiceImpl()); objects.put(ContactService.class, new com.codecomb.module.contacts.ContactServiceImpl()); } @SuppressWarnings("unchecked") public static <T> T getInstance(Class<?> cls){ return (T) objects.get(cls); } }