package org.jboss.resteasy.test.spring.inmodule.resource;

import org.springframework.stereotype.Service;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * Simple Service object. Really, this class isn't needed in this case. However
 * Controller/Service/Repository layering is a pretty common design pattern in
 * Spring projects. While this example doesn't have a Repository/DAO, the
 * ContactService class will show how to integrate Controllers with the layers
 * below in a Spring/RESTEasy application.
 *
 */
@Service
public class ContactService {
    private Map<String, Contact> contactMap = new ConcurrentHashMap<String, Contact>();

    public void save(Contact contact) {
        contactMap.put(contact.getLastName(), contact);
    }

    public Contact getContact(String lastName) {
        return contactMap.get(lastName);
    }

    public Contacts getAll() {
        return new Contacts(contactMap.values());
    }
}
