01: /*
02: * This file is part of PFIXCORE.
03: *
04: * PFIXCORE is free software; you can redistribute it and/or modify
05: * it under the terms of the GNU Lesser General Public License as published by
06: * the Free Software Foundation; either version 2 of the License, or
07: * (at your option) any later version.
08: *
09: * PFIXCORE is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: * GNU Lesser General Public License for more details.
13: *
14: * You should have received a copy of the GNU Lesser General Public License
15: * along with PFIXCORE; if not, write to the Free Software
16: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17: */
18:
19: package de.schlund.pfixcore.editor2.core.spring;
20:
21: import de.schlund.pfixcore.editor2.core.dom.IncludeFile;
22: import de.schlund.pfixcore.editor2.core.dom.IncludePartThemeVariant;
23: import de.schlund.pfixcore.editor2.core.exception.EditorParsingException;
24: import de.schlund.pfixxml.targets.AuxDependency;
25:
26: /**
27: * Service providing methods to retrieve IncludeParts
28: *
29: * @author Sebastian Marsching <sebastian.marsching@1und1.de>
30: */
31: public interface IncludeFactoryService {
32: /**
33: * Creates an IncludeFile object using the specified filename
34: *
35: * @param filename
36: * Relative path to the file
37: * @return IncludeFile object corresponding to the filename
38: * @throws EditorParsingException
39: * If an error occurs during parsing of the IncludeFile
40: */
41: IncludeFile getIncludeFile(String filename)
42: throws EditorParsingException;
43:
44: /**
45: * Create an IncludePartThemeVariant object using the information retrieved
46: * from the supplied AuxDependency.
47: *
48: * @param auxdep
49: * AuxDependency of type DependencyType.TEXT
50: * @return IncludePartThemeVariant for auxdep
51: * @throws EditorParsingException
52: * if a parsing error occurs
53: * @throws RuntimeException
54: * if auxdep is not of type
55: * {@link de.schlund.pfixxml.targets.DependencyType.TEXT}
56: */
57: IncludePartThemeVariant getIncludePartThemeVariant(
58: AuxDependency auxdep) throws EditorParsingException;
59: }
|