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 java.util.Collection;
22:
23: import de.schlund.pfixcore.editor2.core.dom.Project;
24: import de.schlund.pfixxml.targets.TargetGenerator;
25:
26: /**
27: * Provides methods to retrieve a project by name and to retrieve a list of all
28: * projects
29: *
30: * @author Sebastian Marsching <sebastian.marsching@1und1.de>
31: * @see de.schlund.pfixcore.editor2.core.dom.Project
32: */
33: public interface ProjectFactoryService {
34: /**
35: * Returns the Project object for the specified project name.
36: *
37: * @param projectName
38: * Name of the project
39: * @return Project object for the corresponding project or <code>null</code>
40: * if no project can be found for the specified projectName
41: */
42: Project getProjectByName(String projectName);
43:
44: /**
45: * Returns the project that is using the supplied target generator
46: *
47: * @param tgen
48: * target generator to look for
49: * @return Project matching tgen
50: */
51: Project getProjectByPustefixTargetGenerator(TargetGenerator tgen);
52:
53: /**
54: * Returns a list of all projects which are marked as editable
55: *
56: * @return List of all editable projects
57: * @see Project
58: */
59: Collection<Project> getProjects();
60:
61: /**
62: * Returns the project that is using target generator with the supplied name
63: *
64: * @param targetGenerator
65: * Name of the {@link TargetGenerator} to look for
66: * @return Project matching target generator
67: */
68: Project getProjectByPustefixTargetGeneratorName(
69: String targetGenerator);
70: }
|