01: /* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
02: * This code is licensed under the GPL 2.0 license, availible at the root
03: * application directory.
04: */
05: package org.geoserver.wfsv;
06:
07: import net.opengis.wfs.FeatureCollectionType;
08: import net.opengis.wfsv.DescribeVersionedFeatureTypeType;
09: import net.opengis.wfsv.GetDiffType;
10: import net.opengis.wfsv.GetLogType;
11: import net.opengis.wfsv.GetVersionedFeatureType;
12: import net.opengis.wfsv.VersionedFeatureCollectionType;
13:
14: import org.geoserver.wfs.WebFeatureService;
15: import org.geotools.data.postgis.FeatureDiffReader;
16:
17: /**
18: * Versioned Web Feature Service implementation, extensions to both WFS 1.0 and
19: * 1.1.
20: * <p>
21: * Each of the methods on this class corresponds to an operation as defined by
22: * the Web Feature Specification plus a few custom methods for handling feature
23: * versioning. See {@link http://www.opengeospatial.org/standards/wfs} and
24: * {@link http://docs.codehaus.org/display/GEOS/Versioning+WFS+-+Protocol+considerations}
25: * for more details.
26: * </p>
27: *
28: * @author Andrea Aime, The Open Planning Project
29: *
30: */
31: public interface VersionedWebFeatureService extends WebFeatureService {
32: /**
33: * Executes WFSV GetLog request
34: *
35: * @param request
36: * @return
37: */
38: public FeatureCollectionType getLog(GetLogType request);
39:
40: /**
41: * Executes the WFSV GetDiff request
42: *
43: * @param request
44: * @return
45: */
46: public FeatureDiffReader[] getDiff(GetDiffType request);
47:
48: /**
49: * Executes the WFSV GetVersionedFeature request
50: *
51: * @param request
52: * @return
53: */
54: public VersionedFeatureCollectionType getVersionedFeature(
55: GetVersionedFeatureType request);
56:
57: /**
58: * Describes feature types (with an indication whether plain or versioned
59: * feature types should be generated). The feature type infos in the
60: * VersionedDescribeResults are still plain, if you need the versioned ones
61: * you'll need
62: */
63: public VersionedDescribeResults describeVersionedFeatureType(
64: DescribeVersionedFeatureTypeType request);
65: }
|