OSDN Git Service

cd7adff8e928c79dbca73a4b582b14391edcdecf
[stigmata/stigmata.git] / src / main / java / jp / sourceforge / stigmata / result / XmlFileExtractedBirthmarkService.java
1 package jp.sourceforge.stigmata.result;
2
3 /*
4  * $Id$
5  */
6
7 import java.io.File;
8
9 import jp.sourceforge.stigmata.BirthmarkContext;
10 import jp.sourceforge.stigmata.BirthmarkEnvironment;
11 import jp.sourceforge.stigmata.BirthmarkStoreTarget;
12 import jp.sourceforge.stigmata.ExtractionResultSet;
13 import jp.sourceforge.stigmata.result.history.ExtractedBirthmarkHistory;
14 import jp.sourceforge.stigmata.result.history.XmlFileExtractedBirthmarkHistory;
15 import jp.sourceforge.stigmata.spi.ExtractedBirthmarkSpi;
16
17 /**
18  * 
19  * @author Haruaki Tamada
20  * @version $Revision$ 
21  */
22 public class XmlFileExtractedBirthmarkService implements ExtractedBirthmarkSpi{
23     private File defaultBaseDirectory;
24
25     public XmlFileExtractedBirthmarkService(){
26         defaultBaseDirectory = new File(
27             BirthmarkEnvironment.getStigmataHome(),
28             "extracted_birthmarks"
29         );
30     }
31
32     @Override
33     public ExtractionResultSet createResultSet(BirthmarkContext context){
34         return createResultSet(context, defaultBaseDirectory);
35     }
36
37     public ExtractionResultSet createResultSet(BirthmarkContext context, File base){
38         return new XmlFileExtractionResultSet(
39             context, new File(base, AbstractExtractionResultSet.generateId())
40         );
41     }
42
43     @Override
44     public ExtractedBirthmarkHistory getHistory(String parameter){
45         File file = defaultBaseDirectory;
46         if(parameter != null){
47             file = new File(parameter);
48         }
49         if(!file.exists()){
50             file.mkdirs();
51         }
52         return new XmlFileExtractedBirthmarkHistory(file);
53     }
54
55     @Override
56     public ExtractionResultSet getResultSet(String id){
57         return new XmlFileExtractionResultSet(new File(id));
58     }
59
60     @Override
61     public BirthmarkStoreTarget getTarget(){
62         return BirthmarkStoreTarget.XMLFILE;
63     }
64 }