geopackage-sdk/src/main/java/mil/nga/geopackage/factory/GeoPackageImpl.java
@Override
    public FeatureDao getFeatureDao(GeometryColumns geometryColumns) {

        if (geometryColumns == null) {
            throw new GeoPackageException("Non null "
                    + GeometryColumns.class.getSimpleName()
                    + " is required to create "
                    + FeatureDao.class.getSimpleName());
        }

        // Read the existing table and create the dao
        FeatureTableReader tableReader = new FeatureTableReader(geometryColumns);
        final FeatureTable featureTable = tableReader.readTable(new FeatureWrapperConnection(database));
        featureTable.setContents(geometryColumns.getContents());
        FeatureConnection userDb = new FeatureConnection(database);
        FeatureDao dao = new FeatureDao(getName(), database, userDb, geometryColumns, featureTable);

        // Register the table name (with and without quotes) to wrap cursors with the feature cursor
        registerCursorWrapper(geometryColumns.getTableName(),
                new GeoPackageCursorWrapper() {

                    @Override
                    public Cursor wrapCursor(Cursor cursor) {
                        return new FeatureCursor(featureTable, cursor);
                    }
                });

        // If the GeoPackage is writable and the feature table has a RTree Index
        // extension, drop the RTree triggers.  User defined functions are currently not supported.
        if (writable) {
            RTreeIndexExtension rtree = new RTreeIndexExtension(this);
            rtree.dropTriggers(featureTable);
        }

        return dao;
    }
@Override
    public FeatureDao getFeatureDao(GeometryColumns geometryColumns) {

        if (geometryColumns == null) {
            throw new GeoPackageException("Non null "
                    + GeometryColumns.class.getSimpleName()
                    + " is required to create "
                    + FeatureDao.class.getSimpleName());
        }

        // Read the existing table and create the dao
        FeatureTableReader tableReader = new FeatureTableReader(geometryColumns);
        final FeatureTable featureTable = tableReader.readTable(new FeatureWrapperConnection(database));
        featureTable.setContents(geometryColumns.getContents());
        FeatureConnection userDb = new FeatureConnection(database);
        FeatureDao dao = new FeatureDao(getName(), database, userDb, geometryColumns, featureTable);

        // Register the table name (with and without quotes) to wrap cursors with the feature cursor
        registerCursorWrapper(geometryColumns.getTableName(),
                new GeoPackageCursorWrapper() {

                    @Override
                    public Cursor wrapCursor(Cursor cursor) {
                        return new FeatureCursor(featureTable, cursor);
                    }
                });

        // If the GeoPackage is writable and the feature table has a RTree Index
        // extension, drop the RTree triggers.  User defined functions are currently not supported.
        if (writable) {
            RTreeIndexExtension rtree = new RTreeIndexExtension(this);
            rtree.dropTriggers(featureTable);
        }

        return dao;
    }
@ Override public FeatureDao getFeatureDao ( GeometryColumns geometryColumns ) { if ( geometryColumns == null ) { throw new GeoPackageException ( "Non null " + GeometryColumns . class . getSimpleName ( ) + " is required to create " + FeatureDao . class . getSimpleName ( ) ) ; } // Read the existing table and create the dao FeatureTableReader tableReader = new FeatureTableReader ( geometryColumns ) ; final FeatureTable featureTable = tableReader . readTable ( new FeatureWrapperConnection ( database ) ) ; featureTable . setContents ( geometryColumns . getContents ( ) ) ; FeatureConnection userDb = new FeatureConnection ( database ) ; FeatureDao dao = new FeatureDao ( getName ( ) , database , userDb , geometryColumns , featureTable ) ; // Register the table name (with and without quotes) to wrap cursors with the feature cursor registerCursorWrapper ( geometryColumns . getTableName ( ) , new GeoPackageCursorWrapper ( ) { @ Override public Cursor wrapCursor ( Cursor cursor ) { return new FeatureCursor ( featureTable , cursor ) ; } } ) ; // If the GeoPackage is writable and the feature table has a RTree Index // extension, drop the RTree triggers.  User defined functions are currently not supported. if ( writable ) { RTreeIndexExtension rtree = new RTreeIndexExtension ( this ) ; rtree . dropTriggers ( featureTable ) ; } return dao ; }
{@inheritDoc}
{