AppSchemaDataAccess implements DataAccess<FeatureType, Feature> { public Name[] getTypeNames() throws IOException { Name[] typeNames = new Name[mappings.size()]; int i = 0; for (FeatureTypeMapping mapping : mappings.values()) { typeNames[i] = mapping.getTargetFeature().getName(); i++; } return typeNames; } AppSchemaDataAccess(Set<FeatureTypeMapping> mappings); Name[] getTypeNames(); FeatureType getSchema(Name typeName); FeatureTypeMapping getMappingByName(Name typeName); FeatureTypeMapping getMappingByElement(Name typeName); boolean hasName(Name name); boolean hasElement(Name typeName); @SuppressWarnings("unchecked") Query unrollQuery(Query query, FeatureTypeMapping mapping); static Filter unrollFilter(Filter complexFilter, FeatureTypeMapping mapping); void dispose(); ServiceInfo getInfo(); List<Name> getNames(); void createSchema(FeatureType featureType); FeatureSource<FeatureType, Feature> getFeatureSource(Name typeName); void updateSchema(Name typeName, FeatureType featureType); void removeSchema(Name typeName); FeatureSource<FeatureType, Feature> getFeatureSourceByName(Name typeName); Feature findFeature(FeatureId id, Hints hints);  }
@Test public void testGetTypeNames() throws IOException { Name[] typeNames = dataStore.getTypeNames(); assertNotNull(typeNames); assertEquals(1, typeNames.length); assertEquals(targetName, typeNames[0]); List names = dataStore.getNames(); assertNotNull(names); assertEquals(1, names.size()); assertEquals(targetName, names.get(0)); }