ArcSDEDataStore implements DataStore { public SimpleFeatureType getSchema(final String typeName) throws java.io.IOException { FeatureTypeInfo typeInfo = typeInfoCache.getFeatureTypeInfo(typeName); SimpleFeatureType schema = typeInfo.getFeatureType(); return schema; } ArcSDEDataStore(final ISessionPool connPool);  ArcSDEDataStore(final ISessionPool connPool, final String namespaceUri,
            final String versionName, final boolean allowNonSpatialTables); ISession getSession(Transaction transaction); void createSchema(final SimpleFeatureType featureType); SimpleFeatureType getSchema(final String typeName); String[] getTypeNames(); ServiceInfo getInfo(); void dispose(); FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader(final Query query,
            final Transaction transaction); FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader(final Query query,
            final Transaction transaction, final SimpleFeatureType featureType); SimpleFeatureType getQueryType(Query query); SimpleFeatureSource getFeatureSource(final String typeName); ArcSdeFeatureWriter getFeatureWriter(final String typeName, final Transaction transaction); ArcSdeFeatureWriter getFeatureWriter(final String typeName, final Filter filter,
            final Transaction transaction); ArcSdeFeatureWriter getFeatureWriterAppend(final String typeName,
            final Transaction transaction); LockingManager getLockingManager(); void updateSchema(final String typeName, final SimpleFeatureType featureType); SimpleFeatureSource getFeatureSource(Name typeName); List<Name> getNames(); SimpleFeatureType getSchema(Name name); void updateSchema(Name typeName, SimpleFeatureType featureType); void createSchema(final SimpleFeatureType featureType, final Map<String, String> hints); @Override void removeSchema(Name typeName); @Override void removeSchema(String typeName);  }
@Test public void testGetSchema() throws IOException, SeException { SimpleFeatureType schema; schema = store.getSchema(testData.getTempTableName()); assertNotNull(schema); assertEquals(TEST_TABLE_COLS.length, schema.getAttributeCount()); for (int i = 0; i < TEST_TABLE_COLS.length; i++) { assertEquals("at index" + i, TEST_TABLE_COLS[i], schema.getDescriptor(i).getLocalName()); } assertFalse(schema.getDescriptor(0).isNillable()); assertTrue(schema.getDescriptor(1).isNillable()); }