WFS_1_1_0_Protocol implements WFSProtocol { public Set<String> getSupportedOutputFormats(String typeName) { final Set<String> serviceOutputFormats = getSupportedGetFeatureOutputFormats(); final FeatureTypeType typeInfo = getFeatureTypeInfo(typeName); final OutputFormatListType outputFormats = typeInfo.getOutputFormats(); Set<String> ftypeFormats = new HashSet<String>(); if (outputFormats != null) { List<String> ftypeDeclaredFormats = outputFormats.getFormat(); ftypeFormats.addAll(ftypeDeclaredFormats); } ftypeFormats.addAll(serviceOutputFormats); return ftypeFormats; } WFS_1_1_0_Protocol(InputStream capabilitiesReader, HTTPClient http,
            Charset defaultEncoding, WFSStrategy strategy); void setStrategy(WFSStrategy strategy); Version getServiceVersion(); String getServiceTitle(); String getServiceAbstract(); Set<String> getServiceKeywords(); URI getServiceProviderUri(); Set<String> getSupportedGetFeatureOutputFormats(); Set<String> getSupportedOutputFormats(String typeName); Set<QName> getFeatureTypeNames(); QName getFeatureTypeName(String typeName); FilterCapabilities getFilterCapabilities(); boolean supportsOperation(WFSOperationType operation, boolean post); URL getOperationURL(WFSOperationType operation, boolean post); String getFeatureTypeTitle(String typeName); String getFeatureTypeAbstract(String typeName); ReferencedEnvelope getFeatureTypeWGS84Bounds(String typeName); String getDefaultCRS(String typeName); Set<String> getSupportedCRSIdentifiers(String typeName); Set<String> getFeatureTypeKeywords(String typeName); URL getDescribeFeatureTypeURLGet(String typeName); WFSResponse describeFeatureTypeGET(String typeName, String outputFormat); WFSResponse describeFeatureTypePOST(String typeName, String outputFormat); WFSResponse issueGetFeatureGET(final GetFeature request); WFSResponse issueGetFeaturePOST(final GetFeature request); void dispose(); static void encode(final EObject request, final Configuration configuration,
            final OutputStream out, final Charset charset); String getDefaultOutputFormat(WFSOperationType operation); Filter[] splitFilters(Filter filter); @Override SimpleFeatureType issueDescribeFeatureTypeGET(final String prefixedTypeName,
            CoordinateReferenceSystem crs);  }
@Test public void testGetSupportedOutputFormatsByFeatureType() throws IOException { createTestProtocol(GEOS_ARCHSITES.CAPABILITIES); Set<String> archSitesOutputFormats = wfs .getSupportedOutputFormats(GEOS_ARCHSITES.FEATURETYPENAME); assertNotNull(archSitesOutputFormats); assertEquals(8, archSitesOutputFormats.size()); assertTrue(archSitesOutputFormats.contains("GML2")); assertTrue(archSitesOutputFormats.contains("text/xml; subtype=gml/2.1.2")); assertTrue(archSitesOutputFormats.contains("GML2-GZIP")); assertTrue(archSitesOutputFormats.contains("text/xml; subtype=gml/3.1.1")); assertTrue(archSitesOutputFormats.contains("gml3")); assertTrue(archSitesOutputFormats.contains("SHAPE-ZIP")); assertTrue(archSitesOutputFormats.contains("json")); assertTrue(archSitesOutputFormats.contains("text/gml; subtype=gml/3.1.1")); }