1
2
3
4
5
6
7
8
9
10
11
12
13
14 package olg.csv.bean.loader.parser.impl;
15
16 import javax.xml.xpath.XPathExpressionException;
17
18 import olg.csv.bean.loader.CustomLoader;
19 import olg.csv.bean.loader.LoadException;
20 import olg.csv.bean.loader.parser.AbstractParserLoader;
21 import olg.csv.bean.parser.AbstractParser;
22
23 import org.w3c.dom.Element;
24
25
26
27
28
29
30
31
32 public final class CustomParserLoader extends AbstractParserLoader {
33
34
35
36
37
38
39 public CustomParserLoader(AbstractParserLoader successor) {
40 super("custom", successor);
41
42 }
43
44 @SuppressWarnings("unchecked")
45 @Override
46 protected <T> AbstractParser<T> getConcreteParser(Class<T> clazz, Element node) throws XPathExpressionException,
47 LoadException {
48 Object object = CustomLoader.getBean(node);
49 if (!(object instanceof AbstractParser)) {
50 throw new LoadException(object.getClass() + " doit étendre la classe " + AbstractParser.class);
51 }
52 return (AbstractParser<T>) object;
53 }
54 }