TypeDataDAO 인터페이스(예제 5-2 참고)에서는 새로운 메서드인 findById를 추가했다. 이 메서드는 지정한 id를 기반으로 Type을 얻게 해준다. 이 새로운 변경에 맞춰 클래스들을 수정하고 findById 메서드를 구현해보자. 이제 TypeDataDAO 구현체인 예제 5-3을 살펴보자.
예제 5-3 TypeDataRepository.java
package com.apress.isf.spring.data;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.apress.isf.java.model.Type;
public class TypeDataRepository implements TypeDataDAO {
private static final Logger log =
LoggerFactory.getLogger(TypeDataRepository.class);
private Map<String,Type> types = null;
public Map<String, Type> getTypes() {
return types;
}
public void setTypes(Map<String, Type> types) {
this.types = types;
}
public Type findById(String id) {
if (log.isDebugEnabled())
log.debug("Start <findById> Params: " + id);
Type type = types.get(id);
if (log.isDebugEnabled())
log.debug("End <findById> Params: " + type);
return type;
}
public Type[] getAll() {
return types.values().toArray(new Type[types.values().size()]);
}
}