package scripting.project;

import java.util.Iterator;
import org.gvsig.app.project.documents.Document;
import org.gvsig.app.project.documents.table.TableDocument;
import org.gvsig.app.project.documents.view.ViewDocument;

/**
 * Esta clase representa a un proyecto de gvSIG.
 *
 *
 */
public interface Project extends org.gvsig.app.project.Project {

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

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

    /**
     *
     * @param index
     * @return
     */
    public Document __getitem__(int index);

    /**
     *
     * @param name, name of the view to retrieve, is optional
     *   if name is not passed, return te current view.
     *
     * @return
     */
    public ViewDocument getView(String name);

    /**
     *
     * @param name, optional
     * @return
     */
    public  TableDocument getTable(String name);

    /**
     *
     * @return
     */
    public String getProjectionCode();

}
