class ArchetypeServiceImpl implements ArchetypeService {

    @Override
    public Repository getTemplateRepository(final String alias) {
        checkNotEmpty(ALIAS_PARAM, alias);

        final Repository repository = resolveRepository(alias);

        if (repository != null) {
            checkTemplateShouldBeValid(alias);

            return repository;
        }

        throw new IllegalStateException(String.format("Repository %s cannot be resolved.", alias));
    }

    public  ArchetypeServiceImpl();
    @Inject public  ArchetypeServiceImpl(final @Named("ioStrategy") IOService ioService,
                                final RepositoryService repositoryService,
                                final OrganizationalUnitService ouService,
                                final Event<ArchetypeListUpdatedEvent> archetypeListUpdatedEvent,
                                final ArchetypeConfigStorage archetypeConfigStorage,
                                final PathUtil pathUtil,
                                final ArchetypePreferencesManager archetypePreferencesManager,
                                final KieModuleService moduleService,
                                final POMService pomService);

}