01: /*
02: * uDig - User Friendly Desktop Internet GIS client http://udig.refractions.net (C) 2004,
03: * Refractions Research Inc. This library is free software; you can redistribute it and/or modify it
04: * under the terms of the GNU Lesser General Public License as published by the Free Software
05: * Foundation; version 2.1 of the License. This library is distributed in the hope that it will be
06: * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
07: * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
08: */
09: package net.refractions.udig.project;
10:
11: import net.refractions.udig.project.internal.ProjectElement;
12:
13: /**
14: * Provides extension points with a mechanism for blinding creating IProjectElement objects.
15: * Implementors simply need to implement the create method which will return a new IProjectElement
16: * object.
17: *
18: * @author Richard Gould
19: * @since 0.3
20: */
21: public interface IProjectElementFactory {
22: /**
23: * Instantiates an IProjectElement object. This class is only intended to be implemented by
24: * extenders that wish to add new project elements to udig; it is not intended to be used by end
25: * developers.
26: *
27: * @return a newly created IProjectElement object
28: */
29: public ProjectElement create();
30: }
|