1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package gov.nasa.pds.tools.label.parser;
17
18 import gov.nasa.pds.tools.label.validate.FileCharacteristicValidator;
19
20 /***
21 * This class will be used to generate label parsers.
22 * @author pramirez
23 * @version $Revision: 2606 $
24 *
25 */
26 public class LabelParserFactory {
27 private static LabelParserFactory factory = null;
28
29 /***
30 * Constructs a parser factory following the Singleton pattern
31 */
32 private LabelParserFactory() {
33 }
34
35 /***
36 * Retrieve a factory which will create
37 * @return parser factory that will generate parsers
38 */
39 public synchronized static LabelParserFactory getInstance() {
40 if (factory == null)
41 factory = new LabelParserFactory();
42
43 return factory;
44 }
45
46 /***
47 * Retrieves a parser that will read in PDS label files.
48 * @return The parser
49 */
50 public LabelParser newLabelParser() {
51
52 LabelParser parser = new DefaultLabelParser();
53 parser.addValidator(new FileCharacteristicValidator());
54 return parser;
55 }
56
57 }