package scripting.dal;

import java.util.Iterator;
import java.util.List;
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;

/**
 *
 *
 * (Antes era el Schema)
 */
public interface FeatureType extends org.gvsig.fmap.dal.feature.FeatureType {

    /**
     * 
     * @param name
     * @return 
     */
    public FeatureAttributeDescriptor __getitem__(String name);

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

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

    /**
     * 
     * @param name
     * @param defaulValue
     * @return 
     */
    public FeatureAttributeDescriptor get(String name, FeatureAttributeDescriptor defaulValue);

    /**
     * 
     * @return 
     */
    public List<String> getAttrNames();

    /**
     * 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__();

}
