01: /* uDig - User Friendly Desktop Internet GIS client
02: * http://udig.refractions.net
03: * (C) 2004, Refractions Research Inc.
04: *
05: * This library is free software; you can redistribute it and/or
06: * modify it under the terms of the GNU Lesser General Public
07: * License as published by the Free Software Foundation;
08: * version 2.1 of the License.
09: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: */
15: package net.refractions.udig.catalog;
16:
17: import java.io.IOException;
18:
19: /**
20: * Creates Temporary Resources. Used by the temporaryResource extension point and the {@link net.refractions.udig.catalog.ICatalog#getTemporaryDescriptorClasses()}
21: * and {@link net.refractions.udig.catalog.ICatalog#createTemporaryResource(Object)}.
22: * <p>
23: * An example is in net.refractions.udig.catalog.memory plugin. It takes a FeatureType as the
24: * param and creates a resource that resolves to a FeatureStore that stores features of the
25: * FeatureType.
26: * </p>
27: * @author Jesse
28: * @since 1.1.0
29: */
30: public interface TemporaryResourceFactory {
31: /**
32: * Creates an IGeoResource that the implements the {@link ITransientResolve} interface or resolve to that interface.
33: *
34: * @param param A object of the type that is defined in the temporaryResource extension point.
35: * @return Creates an IGeoResource that the implements the {@link ITransientResolve} interface.
36: */
37: IGeoResource createResource(Object param) throws IOException;
38: }
|