 
package scripting.dal;


import java.util.Iterator;
import org.gvsig.fmap.dal.feature.Feature;
import org.gvsig.fmap.dal.feature.FeatureSet;
import org.gvsig.fmap.dal.feature.FeatureType;


public interface FeatureStore extends org.gvsig.fmap.dal.feature.FeatureStore { 

    /**
     * 
     * @return 
     */
    public FeatureType getSchema();

    /**
     * 
     * @param filterExpresion, optional
     * @param sortby, optional
     * @param asc, optional
     * @return 
     */
    public FeatureSet features(String filterExpresion, String sortby, boolean asc) ;

    /**
     * 
     * @return 
     */
    public Iterator<Feature> __iter__();

    /**
     * 
     * @return 
     */
    public int __len__();

    /**
     * 
     */
    public void append(Object... values) ;

    /**
     * 
     * @param feature 
     */
    public void update(Feature feature);

    /**
     * 
     */
    public void edit();

    /**
     * 
     */
    public void commit();

    /**
     * 
     */
    public void abort();

  /**
   * Returns the java object associated to this python object. 
   * With the current implementation this is not necessary, don't
   * use now python wrappers for java objects.
   *
   * @deprecated this method now return self alwais.
   *
   */
  public Object __call__() ;

}
