더북(TheBook)

예제 3-10에서는 AnnotatedDocumentRepository 클래스를 생성한다. 이 클래스는 또 다른 마커 또는 스테레오타입인 @Repository를 사용하며, @Autowired 애너테이션을 포함하는 SearchEngine 구현체에 주입된다(예제 3-9 참고).

 예제 3-10 AnnotatedDocumentRepository.java

package com.apress.isf.spring.annotated.data;

 

import java.util.ArrayList;

import java.util.List;

 

import org.springframework.stereotype.Repository;

 

import com.apress.isf.java.model.Document;

import com.apress.isf.java.model.Type;

import com.apress.isf.spring.data.DocumentDAO;

 

@Repository("documentDAO")

public class AnnotatedDocumentRepository implements DocumentDAO {

 

public Document[] getAll() {

return storage();

}

 

private Document[] storage() {

List<Document> result = new ArrayList<Document>();

 

Type type = new Type();

type.setName("PDF");

type.setDesc("Portable Document Format");

type.setExtension(".pdf");

 

Document document = new Document();

document.setName("Book Template");

document.setType(type);

document.setLocation("/Users/felipeg/Documents/Random/Book Template.pdf");

 

result.add(document);

 

document = new Document();

document.setName("Sample Contract");

document.setType(type);

document.setLocation(

"/Users/felipeg/Documents/Contracts/Sample Contract.pdf");

 

result.add(document);

 

type = new Type();

type.setName("NOTE");

type.setDesc("Text Notes");

type.setExtension(".txt");

 

document = new Document();

document.setName("Clustering with RabbitMQ");

document.setType(type);

document.setLocation(

"/Users/felipeg/Documents/Random/Clustering with RabbitMQ.txt");

 

result.add(document);

 

type = new Type();

type.setName("WEB");

type.setDesc("Web Link");

type.setExtension(".url");

 

document = new Document();

document.setName("Pro Spring Security Book");

document.setType(type);

document.setLocation("http://www.apress.com/9781430248187");

 

result.add(document);

 

return result.toArray(new Document[result.size()]);

}

 

}


신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.